Lab 8

Krzyżówka

1. Proszę napisać program, który wylosuje dowolnej długości hasło główne ze słownika.
Następnie dla podanego hasła wylosuje hasła dodatkowe zaczynające się od każdej z liter hasła głównego.

Przykład: dla hasła głównego: kawa, program może wylosować hasła dodatkowe:

|k|orniszon
|a|rtefakt
|w|oda
|a|zymut

Program powinien dynamicznie alokować pamięć dla tak „losowanej” struktury.

2. Proszę dopisać do programu możliwość wyświetlenia pustej planszy na bazie wylosowanych haseł.

Dla podanej przykładowej struktury będzie to:

 _ _ _ _ _ _ _ _ _ 
|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|
|_|_|_|_|_ _ 
|_|_|_|_|_|_|

3. Proszę dopisać możliwość grania w grę a la „Koło Fortuny”. Użytkownik powinien móc zgadywać literę:

  • jeśli litera jest spółgłoską i występuje w krzyżówce użytkownik otrzymuje punkty za każde jej wystąpienie,
  • jeśli litera jest samogłoską i występuje w krzyżówce użytkownik traci punkty za każde jej wystąpienie (tzw. kupowanie samogłoski),
  • jeśli litera nie występuje w krzyżówce użytkownik nie otrzymuje punktów.

Za daną literę nie przyznaje się punktów, jeśli była już zgadnięta wcześniej. Proszę zastanowić się, jak można przechowywać odgadnięte litery. Gdy użytkownik odsłoni wszystkie litery krzyżówki wyświetlana jest liczba punktów.

4. Na koniec pojedynczej gry program powinien zapytać zawodnika o imię i dopisać wynik wraz z imieniem do pliku z wynikami. Plik z wynikami powinien być posortowany w kolejności od najlepszych wyników do najgorszych.

Proszę pamiętać o:

  • podziale programu na funkcje,
  • odpowiednim nazewnictwie funkcji i zmiennych,
  • zwolnieniu zaalokowanej dynamicznie pamięci!
c-lab8.txt · ostatnio zmienione: 2012/11/28 12:21 przez krzysiek