错误:期待声明TicTacToe游戏

时间:2017-07-05 16:10:52

标签: c++ matrix char

你好昨天我开始编程一个小Tic Tac Toe游戏,但今天我发现了一个错误。如果显示'(只是' X'或者' O'如果有人获胜),则游戏以Draw结束,并且计数器显示9但是它如果我在游戏和输入中犯了错误,也会结束34(可能的输入是1-9),我达到9(计数器)。

我想更改' /'到' B' 并使用 但是我得到了一份声明'在 {

char Checker();
{
    if (matrix[0][0] && matrix[0][1] && matrix[0][2] && matrix[1][0] && matrix[1][1] && matrix[1][2] && matrix[2][0] && matrix[2][1] && matrix[2][2] == 'X' || 'O')
        return 'B';
}

你能帮我解决这个问题吗?如果您想查看完整的代码:https://pastebin.com/E5TzAG4t。 对不起,我的英语只是我在学校(德国)学到的一种语言。

编辑:这是检查代码1.看看有人赢了2.我在插入数字时犯了错误

char Win()
{
    //Spieler X
    if (matrix[0][0] == 'X' && matrix[0][1] == 'X' && matrix[0][2] == 'X')
        return 'X';
    if (matrix[1][0] == 'X' && matrix[1][1] == 'X' && matrix[1][2] == 'X')
        return 'X';
    if (matrix[2][0] == 'X' && matrix[2][1] == 'X' && matrix[2][2] == 'X')
        return 'X';

    if (matrix[0][0] == 'X' && matrix[1][0] == 'X' && matrix[2][0] == 'X')
        return 'X';
    if (matrix[0][1] == 'X' && matrix[1][1] == 'X' && matrix[2][1] == 'X')
        return 'X';
    if (matrix[0][2] == 'X' && matrix[1][2] == 'X' && matrix[2][2] == 'X')
        return 'X';

    if (matrix[0][0] == 'X' && matrix[1][1] == 'X' && matrix[2][2] == 'X')
        return 'X';
    if (matrix[2][0] == 'X' && matrix[1][1] == 'X' && matrix[0][2] == 'X')
        return 'X';

    //Spieler O
    if (matrix[0][0] == 'O' && matrix[0][1] == 'O' && matrix[0][2] == 'O')
        return 'O';
    if (matrix[1][0] == 'O' && matrix[1][1] == 'O' && matrix[1][2] == 'O')
        return 'O';
    if (matrix[2][0] == 'O' && matrix[2][1] == 'O' && matrix[2][2] == 'O')
        return 'O';

    if (matrix[0][0] == 'O' && matrix[1][0] == 'O' && matrix[2][0] == 'O')
        return 'O';
    if (matrix[0][1] == 'O' && matrix[1][1] == 'O' && matrix[2][1] == 'O')
        return 'O';
    if (matrix[0][2] == 'O' && matrix[1][2] == 'O' && matrix[2][2] == 'O')
        return 'O';

    if (matrix[0][0] == 'O' && matrix[1][1] == 'O' && matrix[2][2] == 'O')
        return 'O';
    if (matrix[2][0] == 'O' && matrix[1][1] == 'O' && matrix[0][2] == 'O')
        return 'O';

        return '/';
}
char Checker()
{
    if (matrix[0][0] && matrix[0][1] && matrix[0][2] && matrix[1][0] && matrix[1][1] && matrix[1][2] && matrix[2][0] && matrix[2][1] && matrix[2][2] == 'X' || 'O' || '1' || '2' || '3' || '4' || '5' || '6' || '7' || '8' || '9')
        return 'B';
}

1 个答案:

答案 0 :(得分:0)

好像你想要

 if (matrix[0][0] && matrix[0][1] && matrix[0][2] && matrix[1][0] && matrix[1][1] && matrix[1][2] && matrix[2][0] && matrix[2][1] && matrix[2][2] == 'X' || 'O')

表示'如果m00和m01等是X或O',那可能不是意味着什么。你不得不说很长的路

if((m00 == 'o' || m00 == 'x') && (m01 == 'o' || m01 == 'x') ...