Oto projekt gry "Wisielec", który zrealizowałam w ramach zadania semestralnego z programowania obiektowego w C++. Poniżej znajduje się wideo prezentujące działanie gry, skrócona dokumentacja projektu oraz kod programu.
Program "Wisielec" to gra polegająca na odgadywaniu słów. Celem gry jest odgadnięcie słowa przed wyczerpaniem limitu siedmiu prób. Program oferuje trzy tryby gry: gra jednoosobowa, gra dla dwóch graczy i gra z komputerem.
W Menu gry, do wyboru jest 6 opcji:
1. Wyświetl instrukcje i zasady gry
– program wyświetla w konsoli instrukcje i zasady gry.
2. Gra jednoosobowa
– program uruchamia nową grę w trybie dla jednego gracza.
3. Gra dla dwóch graczy
- program uruchamia nową grę w trybie dla dwóch graczy.
4. Gra z komputerem
- program uruchamia nową grę w trybie gry z komputerem.
5. Wyświetl wyniki graczy
– program wyświetla w konsoli wyniki graczy.
6. Zakończ działanie programu
– kończenie pracy programu.
Numer opcji odpowiada numerowi, jaki użytkownik musi wprowadzić, by wywołać daną czynność. W przypadku wprowadzenia litery bądź znaku specjalnego, program wyświetla komunikat o błędnych danych i umożliwia ponowne ich wprowadzenie. W przypadku wprowadzenia liczby spoza zakresu 1-6, program będzie oczekiwał na ponowne wprowadzenie poprawnych danych.
Nick gracza może składać się wyłącznie z małych liter. W przypadku wprowadzenia znaku, który nie jest literą (bądź jest polskim znakiem), program prosi o ponowne wprowadzenie poprawnych danych. W przypadku wprowadzenia nazwy z dużymi literami, program sam zamienia litery na małe. Ta kontrola danych dotyczy również słowa do odgadnięcia wprowadzanego przez gracza w trybie gry dla dwóch graczy i z komputerem.
Gracz nie jest w stanie nadpisać wyniku Komputera w rankingu wyników. Wynika to z faktu, iż nick „Komputer” jest zawsze pisany z dużej litery, a gracz nie jest w stanie wprowadzić dużych liter w nicku. Nick „komputer” (pisany z małej litery) będzie traktowany jako kolejny gracz w tablicy wyników.
Zgadywana litera musi być pojedynczą literą, nie może być polskim znakiem, znakiem specjalnym bądź cyfrą. W przypadku wprowadzenia błędnych danych program informuje o tym i oczekuje na wprowadzenie poprawnych danych. W przypadku wprowadzenia dużej litery, program zamienia ją na małą. W przypadku ponownego wprowadzenia użytej już wcześniej litery, program wyświetla krótki komunikat. Za taki ruch nie jest zmniejszana ilość prób. Gracz zgaduje literę dopóki zgadnie słowo lub wyczerpie ilość możliwych prób.
Po pojedynczej turze gry, wyniki zostają zaktualizowane. Gracz ma możliwość zobaczenia wyników wybierając w Menu opcję nr. 5.
Przyznawanie punktów graczom wygląda następująco: 0 punktów, jeśli gracz nie zgadł słowa i 1 punkt, gdy gracz zgadł słowo, niezależnie od ilości wykorzystanych prób. Ponadto gra została rozszerzona o różne tryby w tym o tryb gry z komputerem, gdzie to komputer zgaduje wprowadzone przez gracza słowo.
Brak.
Plik o nazwie instrukcja.txt
zawiera instrukcje i zasady gry, które użytkownik może wyświetlić w konsoli wybierając odpowiednią opcję.
Plik o nazwie slowa.txt
w każdym kolejnym wierszu zawiera jedno słowo. Słowa są wczytywane podczas gry i w zależności od trybu, program losuje słowo do odgadnięcia.
Plik o nazwie wyniki.txt
zawiera wyniki graczy. W każdym wierszu jest nick gracza i zdobyte dotychczas przez niego punkty. Program po rundzie gry aktualizuje plik o zdobyte punkty.
Plik o nazwie log.txt
zawiera informacje o wykonanej interakcji wraz z dokładną datą.
Plik main.cpp
jako główny plik kodu źródłowego
Pliki źródłowe i pliki nagłówkowe: klasy.cpp
, funkcje.cpp
, kolory.cpp
, klasy.h
, funkcje.h
, funkcje.h
.
Pliki tekstowe: instrukcja.txt
, slowa.txt
, wyniki.txt
, log.txt
.
Plik main.cpp
– główny plik kodu źródłowego, zawierający funkcję main()
i logikę wyboru trybu gry oraz zapisy logów.
Plik klasy.h
– plik nagłówkowy zawierający deklarację klasy bazowej Wisielec
i klas po niej dziedziczących: GraJednoosobowa
, GraDwuosobowa
,GraZKomputerem
.
Plik klasy.cpp
– plik źródłowy zawierający implementacje metod klas: Wisielec
, GraJednoosobowa
, GraDwuosobowa
,GraZKomputerem
.
Plik funkcje.h
– plik nagłówkowy zawierający deklaracje funkcji pomocniczych m.in. do wyświetlania menu, wyników i instrukcji, obsługi wprowadzanych danych od użytkownika oraz sprawdzania aktualnej godziny.
Plik funkcje.cpp
– plik źródłowy zawierający implementację funkcji pomocniczych.
Plik kolory.h
– plik nagłówkowy zawierający deklaracje manipulatorów kolorów tekstu.
Plik kolory.cpp
– plik źródłowy zawierający implementację manipulatorów kolorów tekstu.