[C++] Piszemy grę, część 1

Postanowiłem kilka przyszłych postów poświęcić językowi C++. Chciałbym pokazać jak w praktyce korzystać z podstawowych elementów C++ takich jak funkcje, instrukcje warunkowe i pętlę. Najlepszym sposobem na naukę jest praktyka, więc napiszemy sobie prosty program, a konkretniej - tekstową grę.

Koncepcja

Program ma losować liczby całkowite z podanego przedziału, a gracz musi zgadnąć jaka to liczba. Czyli taka zgadywanka liczbowa. Gra ma mieć 3 poziomy trudności: 1 poziom (losowana liczba z przedziału 1 - 10), 2 poziom (losowana liczba z przedziału 1 - 50), 3 poziom (losowana liczba z przedziału 1 - 100). Ponadto każdy poziom ma mieć ograniczoną ilość prób:

  • 1 poziom - 25 prób;
  • 2 poziom - 15 prób;
  • 3 poziom - 10 prób;
Czyli im wyższy poziom tym mniej możliwych prób. Tu właściwie kończy się cała filozofia programu. Poniżej opiszę dodatkowe funkcjonalności, które ma mieć program.

Start programu i wybór poziomu

Na starcie program ma wyświetlić:

#--------------------#
# Nazwa programu 0.1 #
#--------------------#
Wybierz poziom trudności.
Dostępne są trzy poziomy trudności, wpisz 1, 2 lub 3, aby wybrać poziom:
i oczekiwać na podanie liczby (poziomu trudności od 1 do 3).
Po wyborze przez gracza poziomu trudności program ma wyświetlić:
Wybrałeś x poziom trudności.
---
Twój strzał:
i oczekiwać na podanie jakiejś liczby.

Zliczanie prób

Gra ma zliczać próby i po każdym strzale, a także po zakończeniu programu (nie zależnie od wyniku gry) ma wyświetlić liczbę strzałów.

Czas gry

Program ma liczyć czas od startu do zakończenia gry i informować po każdej próbie ile już trwa gra.

Zapis stanu gry

Po zakończeniu gry jej stan (niezależnie od wyniku) ma zostać zapisany do pliku history.txt w takim formacie:
10:00 22/04/2020|Gra zakończona wygraną.|Poziom trudności: 1|Ilość prób: 1|Czas trwania gry: 15 sek.
Czyli program ma zapisywać informacje o tym czy użytkownik wygrał czy przegrał, jaki wybrał poziom trudności, ile razy próbował zgadnąć liczbę, ile czasu grał oraz godzinę i datę zapisu stanu.

Podsumowanie po zakończeniu gry

Program po zakończeniu (niezależnie od wyniku) ma wyświetlać w jakiś składy sposób informacje końcowe.
Jeśli użytkownik wykorzysta dozwoloną liczbę prób wyświetl:

Ilość Twoich błędnych strzałów osiągnęła limit (xx).
Gra zakończona przegraną.
Stan gry został zapisany.
Jeśli użytkownik wygra (trafi wylosowaną liczbę) program ma wyświetlić:
* Gratulacje! Pierwszy strzał i od razu trafny :) * - jeśli gracz trafił za pierwszym razem
lub
* Gratulacje! Wygrałeś! *
Prób: x
Czas gry: x sek.
---
Stan gry został zapisany.

Komentarze

Popular

[C++] Jak obliczyć pole i obwód trapezu?

[HTML] Jak wyśrodkować tekst?

[PHP] Jak pobrać adres strony?