TicTacToe if語句不適用于玩家2

我將發布整個代碼,以便您可以測試自己。我不明白為什么在if語句中沒有觸發玩家2的勝利條件。

我知道這是if語句的原因,也許我寫錯了,但我花了2個小時在上面,我不知道該語句有什么問題。對玩家1來說效果很好。

private static void ticTacToe()
{
    string[,] board = new string[3, 3];
    for (int i = 0; i < board.GetLength(0); i++)
        for (int j = 0; j < board.GetLength(1); j++)
            board[i, j] = "-";
    string player1 = "X";
    string player2 = "O";
    string currentPlayer;
    int round = 1;
    int aX = 0;
    int aY = 0;
    bool flag = false;
    bool victory = false;
    while (flag == false || victory == false)
    {
        if (round == 1)
        {
            currentPlayer = player1;
            round++;
        }
        else
        {
            currentPlayer = player2;
            round--;
        }

        bool valid = false;
        while (valid == false)
        {
            bool validCord = false;
            while (validCord == false)
            {
                Console.Write("Where to put(X Co)?: ");
                aX = int.Parse(Console.ReadLine());
                Console.Write("Where to put(Y Co)?: ");
                aY = int.Parse(Console.ReadLine());

                if(0 <= aX && aX <= 2 && 0 <= aY && aY <= 2)
                {
                    validCord = true;
                }
            }
            

            if (board[aY, aX] == "-")
            {
                valid = true;
                board[aY, aX] = currentPlayer;
            }

        }
        
        for (int i = 0; i < board.GetLength(0); i++)
        {
            for (int j = 0; j < board.GetLength(1); j++)
            {
                Console.Write(board[i, j]);

                if (board[i, j] != "-")
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }
            Console.WriteLine();
        }
        //|||
        if ((board[0, 0] == "X" && board[1, 0] == "X" && board[2, 0] == "X") || (board[0, 0] == "Y" && board[1, 0] == "Y" && board[2, 0] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        else if ((board[0, 1] == "X" && board[1, 1] == "X" && board[2, 1] == "X") || (board[0, 1] == "Y" && board[1, 1] == "Y" && board[2, 1] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        else if ((board[0, 2] == "X" && board[1, 2] == "X" && board[2, 2] == "X") || (board[0, 2] == "Y" && board[1, 2] == "Y" && board[2, 2] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        //---
        else if ((board[0, 0] == "X" && board[0, 1] == "X" && board[0, 2] == "X") || (board[0, 0] == "Y" && board[0, 1] == "Y" && board[0, 2] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        else if ((board[1, 0] == "X" && board[1, 1] == "X" && board[1, 2] == "X") || (board[1, 0] == "Y" && board[1, 1] == "Y" && board[1, 2] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        else if ((board[2, 0] == "X" && board[2, 1] == "X" && board[2, 2] == "X") || (board[2, 0] == "Y" && board[2, 1] == "Y" && board[2, 2] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        //X
        else if ((board[0, 0] == "X" && board[1, 1] == "X" && board[2, 2] == "X") || (board[0, 0] == "Y" && board[1, 1] == "Y" && board[2, 2] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
        else if ((board[0, 2] == "X" && board[1, 1] == "X" && board[2, 0] == "X") || (board[0, 2] == "Y" && board[1, 1] == "Y" && board[2, 0] == "Y"))
        {
            victory = true;
            Console.Write(victory + " Victory for player " + currentPlayer);
        }
    }
    Console.ReadLine();

}
? 最佳回答:

在代碼的頂部,有player1player2的以下定義:

string player1 = "X";
string player2 = "O";

但是,您的所有if語句如下所示:

if ((board[0, 0] == "X" && board[1, 0] == "X" && board[2, 0] == "X") || (board[0, 0] == "Y" && board[1, 0] == "Y" && board[2, 0] == "Y"))

您正在檢查XY而不是XO,因此player2的贏條件從未觸發。

主站蜘蛛池模板: 成人精品视频一区二区三区不卡 | 一区二区视频免费观看| 综合一区自拍亚洲综合图区| 国产精品亚洲综合一区| 蜜臀AV无码一区二区三区| 无码人妻精品一区二区三区在线 | 精品无码成人片一区二区98| 波多野结衣一区二区三区aV高清| 国产精品久久亚洲一区二区| 无码国产精品一区二区免费| 亚洲美女视频一区二区三区| 国模无码人体一区二区| 日韩人妻无码一区二区三区久久99 | 欲色aV无码一区二区人妻| 久久国产午夜一区二区福利| 精品国产免费一区二区三区香蕉| 国产精品无码一区二区在线观一| 国产精品一区二区四区| 免费视频精品一区二区| 国产一区二区精品久久91| 国产女人乱人伦精品一区二区| 无码aⅴ精品一区二区三区| 爆乳无码AV一区二区三区| 国产成人久久一区二区不卡三区| 亚洲av成人一区二区三区在线播放| 亚洲电影国产一区| 91久久精品午夜一区二区| 3d动漫精品啪啪一区二区中文 | 鲁丝丝国产一区二区| 国产在线一区视频| 美女视频黄a视频全免费网站一区| 国产一区风间由美在线观看| 国产三级一区二区三区| 亚洲AⅤ无码一区二区三区在线| av在线亚洲欧洲日产一区二区| 日韩人妻无码一区二区三区| 国产一区二区女内射| 毛片一区二区三区| 日韩精品电影一区亚洲| 国产在线aaa片一区二区99| 午夜福利一区二区三区高清视频|