25.01.2016 EF-DI Projekt Programowanie w języku c++ Wykonał: Dominik Pyziński Grę Pearl cards zorganizowano wykorzytując trzy klasy. Klasa Menu: Klasa Menu posiada dwie metody. Przywatną void newGameMenu(), oraz publiczną void View(). Metoda View() wyświetla opcje rozpoczęcia nowej gry, pomocy, oraz zakończenia rozgrywki. Po wyborze opcji nowej gry wywołuje się metodę newGameMenu() w którym można wybrać postacie, którymi chcą zagrać gracze. Po wybraniu postaci uruchamia się metodę klasy Game void Board(int a, int b). Współczynniki a i b określają jakich bohaterów wybrali gracze. Klasa Game posiada dwie metody publiczne, z których jedna jest konstruktorem. Wybranie postaci w metodzie void Menu::newGameMenu() skutkuje uruchomieniem konstruktora klasy Game ustawiającego karty wykorzytywane w grze. Wprowadza ona odpowiednie statystyki dla kart bohaterów, oraz tworzy takie same, lecz inaczej pomieszane talie kart dla każdego gracza. Po uruchomieniu konstruktora klasy Game uruchamia się metodę Board() w której zapętla się ruchy graczy. Metoda Board() rozpoczyna ruch najpierw dla gracza pierwszego, a następnie dla grzacza drugiego. W tej metodzie rozpoczyna się metody prywatne: void playerTurn() i enemyTurn() Metody te działają analogicznie, lecz dla różnych graczy. Określa się w niej liczbę możliwych ruchów dla graczy i uaktywnia wybór karty. Po wyborze karty uruchamiana jest metoda makeMove(Card karta, int indeks) lub makeMoveAI(Card karta, int indeks), zależnie od tego który gracz ropoczął turę. W tych metodach określa się która karta ma dokonać ruchu, oraz jaką kartę ma atakować. Jeśli w wykonaniu makeMove(Card karta, int indeks) lub makeMoveAI(Card karta, int indeks) któryś z bohaterów zginął uruchamiana zostaje metoda void endGame(bool n), która wyświetla informacje o wygranej któregoś z graczy.