Gra w zgadywanie słów

Napiszmy program konsolowy, który będzie symulował grę słowną. Komputer losuje słowo (z listy słów), następnie wyświetla je na ekranie, litery zastępując znakiem “_”. Gracz ma za zadanie odgadnąć słowo, podając kolejne litery. Jeśli podana przez gracza litera znajduje się w słowie, zostanie odkryta. Gracz może także podać całe słowo jeśli uważa, że je odgadł. Ma 10 prób, jeśli mu się nie uda – przegrywa.

 

 

 

 

 

 

 

 

 

Podpowiedź

Zacznij od stworzenia dwóch pomocniczych metod:

  • GetWord(), która będzie przyjmowała jako argument listę słów, i zwracała jedno losowe.
  • ShowWord(), która będzie przyjmowała dwa parametry: odgadywane słowo oraz listę liter trafionych przez gracza, i na tej podstawie zwracała ciąg znaków “_” z odkrytymi przez gracza literami.
Jak?

Przydatna tu będzie metoda listy Contains(), która sprawdza, czy lista zawiera dany element (podany w parametrze metody).

[collapse]

Gdy masz już gotowe powyższe metody, możesz stworzyć resztę programu. W głównej pętli programu musimy wyświetlić słowo w aktualnym stanie (z odgadniętymi literami), oraz pobrać od użytkownika dane i sprawdzić, czy podaje literę (jeśli tak -> sprawdź czy występuje w słowie, jeśli występuje to dodaj ją do listy zgadniętych liter) czy całe słowo (sprawdź czy słowo jest trafione).

Dodatkowo:

Niech lista słów będzie wczytywana z pliku. Jeśli plik nie istnieje – gra nie będzie możliwa.

Możesz też dodać menu z wyborem kategorii dla słów. Wtedy np każda kategoria będzie miała własny plik z danymi.

[collapse]
Rozwiązanie

 

[collapse]