Я правильно это кодирую? - PullRequest
0 голосов
/ 29 октября 2019

Мы должны сделать классную игру в классе, но наш инструктор уже создал класс 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";
        }


    }




};

Любая помощь будет оценена спасибо

...