Мы должны сделать классную игру в классе, но наш инструктор уже создал класс main (). Мы должны создать класс заголовка с методами, которые заставят класс main () работать. Я публикую это, чтобы удостовериться, что я получаю помощь сообщества при написании кода, чтобы я мог учиться на разных взглядах разработчиков и правильно кодировать это задание. Вот класс main ():
#include <iostream>
#include <conio.h>
#include "TicTacToe.h"
using namespace std;
int main()
{
TicTacToe *pGame = nullptr;
while (true)
{
if (pGame) delete pGame;
pGame = new TicTacToe;
// play the game
while (!pGame->IsOver())
{
pGame->DisplayBoard();
int position;
do
{
cout << "Player " << pGame->GetPlayerTurn() << ", select a position (1-9): ";
cin >> position;
} while (!pGame->IsValidMove(position));
pGame->Move(position);
}
// game over
pGame->DisplayBoard();
pGame->DisplayResult();
// prompt to play again (or quit)
char input = ' ';
while (input != 'Y' && input != 'y')
{
std::cout << "Would you like to play again? (y/n): ";
cin >> input;
if (input == 'N' || input == 'n') return 0; // quit
}
}
}
Теперь вот что у меня есть для моего класса header (): я не уверен, что мой char m_playerTurn [2] {X, O}правильно.
#pragma once
#include <string>
class TicTacToe
{
private:
char X;
char O;
char m_board[9];
int m_numTurns;
char m_playerTurn[2] { X, O };
char m_winner;
public:
void DisplayBoard()
{
cout << m_board[0, 1, 2, "\n",
3, 4, 5, "\n",
6, 7, 8];
}
bool IsOver()
{
}
char GetPlayerTurn(const std::string X, const std::string O)
{
if (m_playerTurn == X)
{
Move;
}
else
{
m_playerTurn == O;
Move;
}
}
bool IsValidMove(int Position)
{
}
void Move(int Position )
{
}
void DisplayResult()
{
if (IsOver)
{
cout << "The winner is: " << IsOver();
}
else
{
IsOver == false;
cout << "The game is a tie";
}
}
};
Любая помощь будет оценена спасибо