/
VR763
/
TicTacToe
Обзор
Документация
Войти
/
VR763
/
TicTacToe
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Game.cpp
58 строк
1 KB
VR763
Create: Board.cpp, Board.h, Game.cpp, Game.h, HumanPlayer.cpp, HumanPlayer.h, main.cpp, Menu.cpp, Menu.h, Player.cpp, Player.h, PlayerFactory.cpp, PlayerFactory.h, RandomAIPlayer.cpp, RandomAIPlayer.h
14 июн 2026, 13:09
Верифицирован
14 июн 2026, 13:09
500fb19
Код
Авторство
О чём код?
#include "Game.h" #include <iostream> Game::Game(Player* p1, Player* p2) : player1(p1), player2(p2) { currentPlayer = player1; } Game::~Game() { delete player1; delete player2; } void Game::start() { board.display(); while (!isGameOver()) { currentPlayer->makeMove(board); board.display(); if (isGameOver()) { announceResult(); break; } switchPlayer(); } } void Game::switchPlayer() { if (currentPlayer == player1) { currentPlayer = player2; } else { currentPlayer = player1; } } bool Game::isGameOver() const { if (board.checkWin('X') || board.checkWin('O')) { return true; } if (board.isDraw()) { return true; } return false; } void Game::announceResult() const { if (board.checkWin('X')) { std::cout << "Победил " << player1->getName() << " (" << player1->getSymbol() << ")!\n"; } else if (board.checkWin('O')) { std::cout << "Победил " << player2->getName() << " (" << player2->getSymbol() << ")!\n"; } else if (board.isDraw()) { std::cout << "Ничья!\n"; } }