Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tictaoe检查平局并检查已被占据的位置_Java_Arrays_Algorithm_Loops - Fatal编程技术网

Java Tictaoe检查平局并检查已被占据的位置

Java Tictaoe检查平局并检查已被占据的位置,java,arrays,algorithm,loops,Java,Arrays,Algorithm,Loops,我现在在Tictatcoe项目工作。现在,我的问题是如何在不使用方法的情况下检查Tictoe中的平局游戏和已取得的点。我被卡住了,我要解决这个问题三天 这是一个2人的提克塔托 这是我的密码: public static void main(String[] args) { Scanner wow = new Scanner(System.in); int players; int j=0, i=0; char[][] board; board=new

我现在在Tictatcoe项目工作。现在,我的问题是如何在不使用方法的情况下检查Tictoe中的平局游戏已取得的点。我被卡住了,我要解决这个问题三天

这是一个2人的提克塔托

这是我的密码:

public static void main(String[] args)
{

    Scanner wow = new Scanner(System.in);
    int players;
    int j=0, i=0;
    char[][] board;

    board=new char[3][3];
    board[0][0]='1';
    board[0][1]='2';
    board[0][2]='3';
    board[1][0]='4';
    board[1][1]='5';
    board[1][2]='6';
    board[2][0]='7';
    board[2][1]='8';
    board[2][2]='9';
    System.out.println("Tic-tac-toe game");

    System.out.println("_____________");
    System.out.println("|-"+board[0][0]+"-|-"+board[0][1]+"-|-"+board[0][2]+"-|");
    System.out.println("|-"+board[1][0]+"-|-"+board[1][1]+"-|-"+board[1][2]+"-|");
    System.out.println("|-"+board[2][0]+"-|-"+board[2][1]+"-|-"+board[2][2]+"-|");
    System.out.println("|---|---|---|");


    for(i=0; i<3; i++)
    {

        for(j=0;j<3;j++)
        {

            players=wow.nextInt();
            if(board[i][j]%2==1)
            {


                if (players==1)
                {       
                    board[0][0]='X';
                }

                else if (players==2)
                {  
                    board[0][1]='X';
                }  
                else if (players==3)
                {  
                    board[0][2]='X';
                }  
                else if (players==4)
                {  
                    board[1][0]='X';


                }  
                else if (players==5)
                {  
                    board[1][1]='X';


                }  
                else if (players==6)
                {  
                    board[1][2]='X';

                }  
                else if (players==7)
                {  
                    board[2][0]='X';


                }  
                else if (players==8)
                {  
                    board[2][1]='X';


                }  
                else if (players==9)
                {  
                   board[2][2]='X';


                }
                else if(players>=10||players<=0)
                {
                   System.out.println("Invalid position");
                }
                System.out.println("_____________");
                System.out.println("|-"+board[0][0]+"-|-"+board[0][1]+"-|-"+board[0][2]+"-|");
                System.out.println("|-"+board[1][0]+"-|-"+board[1][1]+"-|-"+board[1][2]+"-|");
                System.out.println("|-"+board[2][0]+"-|-"+board[2][1]+"-|-"+board[2][2]+"-|");
                System.out.println("|---|---|---|");
                if(board[0][0]=='X'&&board[0][1]=='X'&&board[0][2]=='X')
                {

                    System.out.println("X wins");
                    break;

                }
                if(board[1][0]=='X'&&board[1][1]=='X'&&board[1][2]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[2][0]=='X'&&board[2][1]=='X'&&board[2][2]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[0][0]=='X'&&board[1][0]=='X'&&board[2][0]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[0][1]=='X'&&board[1][1]=='X'&&board[2][1]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[0][2]=='X'&&board[1][2]=='X'&&board[2][2]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[0][0]=='X'&&board[1][1]=='X'&&board[2][2]=='X')
                {

                    System.out.println("X wins");

                    break;
                }
                if(board[0][2]=='X'&&board[1][1]=='X'&&board[2][0]=='X')
                {

                    System.out.println("X wins");

                    break;
                }

            }
            else if(board[i][j]%2==0)
            {
                if (players==1)
                {

                    board[0][0]='O';

                }

                else if (players==2)
                {  
                    board[0][1]='O';
                }  
                else if (players==3)
                {  
                    board[0][2]='O';
                }  
                else if (players==4)
                {  
                    board[1][0]='O';


                }  
                else if (players==5)
                {  
                    board[1][1]='O';


                }  
                else if (players==6)
                {  
                    board[1][2]='O';

                }  
                else if (players==7)
                {  
                    board[2][0]='O';


                }  
                else if (players==8)
                {  
                    board[2][1]='O';


                }  
                else if (players==9)
                {  
                   board[2][2]='O';


                }
                else if(players>=10||players<=0)
                {
                   System.out.println("Invalid position");
                }
                System.out.println("_____________");
                System.out.println("|-"+board[0][0]+"-|-"+board[0][1]+"-|-"+board[0][2]+"-|");
                System.out.println("|-"+board[1][0]+"-|-"+board[1][1]+"-|-"+board[1][2]+"-|");
                System.out.println("|-"+board[2][0]+"-|-"+board[2][1]+"-|-"+board[2][2]+"-|");
                System.out.println("|---|---|---|");

                if(board[0][0]=='O'&&board[0][1]=='O'&&board[0][2]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[1][0]=='O'&&board[1][1]=='O'&&board[1][2]=='O')
                {

                    System.out.println("X wins");

                    break;
                }
                else if(board[2][0]=='O'&&board[2][1]=='O'&&board[2][2]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[0][0]=='O'&&board[1][0]=='O'&&board[2][0]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[0][1]=='O'&&board[1][1]=='O'&&board[2][1]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[0][2]=='O'&&board[1][2]=='X'&&board[2][2]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[0][0]=='O'&&board[1][1]=='O'&&board[2][2]=='O')
                {

                    System.out.println("O wins");

                    break;
                }
                else if(board[0][2]=='O'&&board[1][1]=='O'&&board[2][0]=='O')
                {

                    System.out.println("O wins");
                    break;
                }

            }



        }

    }   



}
publicstaticvoidmain(字符串[]args)
{
扫描仪wow=新扫描仪(System.in);
国际球员;
int j=0,i=0;
字符[][]板;
board=新字符[3][3];
板[0][0]=“1”;
板[0][1]=“2”;
板[0][2]=“3”;
董事会[1][0]=“4”;
董事会[1][1]='5';
董事会[1][2]='6';
董事会[2][0]=“7”;
董事会[2][1]='8';
董事会[2][2]='9';
System.out.println(“Tic-tac-toe游戏”);
System.out.println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”);
System.out.println(“|-”+板[0][0]+“-|-”+板[0][1]+“-|-”+板[0][2]+“-”);
System.out.println(“|-”+板[1][0]+“-|-”+板[1][1]+“-|-”+板[1][2]+“-”);
System.out.println(“|-”+板[2][0]+“-|-”+板[2][1]+“-|-”+板[2][2]+“-”);
System.out.println(“|--|--|--|--|--”号);

对于(i=0;i这是很多代码。我真的不知道你希望人们看到什么

关于您的问题,要检查是否有已拍摄的照片,请执行以下操作:

if(board[x][y] == 'X' || board[x][y] == 'O') {
//choose another spot
}

当您询问用户下一块的放置位置时,您需要检查您的板变量,如果当前点已经包含和X或O。这可以通过简单的if语句完成

if (board[0][0] == 'X' && board[0][0] == 'O') { // you need to check the whole board, not just [0][0], but you get the point.
如果是,请用户输入新的合法移动。这可以通过简单的

我还建议您查看,这将使您的代码更易于阅读。例如,代码的第一部分第34-73行可以替换为以下内容:

switch (players) {
case 1: board[0][0]='X'; break;
case 2: board[0][3]='X'; break;
case 3: board[0][2]='X'; break;
case 4: board[1][0]='X'; break;
case 5: board[1][4]='X'; break;
case 6: board[1][2]='X'; break;
case 7: board[2][0]='X'; break;
case 8: board[2][5]='X'; break;
case 9: board[2][2]='X'; break;
default: System.out.println("Invalid position");
}

编辑:与如何确定领带相关

你知道一场比赛如何打成平局吗?一旦你知道打成平局应该不会太难


提示:如果你的代码到达一个点,棋盘已满,并且没有宣布赢家,则游戏必须平局。(for循环后)

您编写的代码目前在做什么?您无法解决的具体问题是什么?抱歉,我们不允许使用切换语句,平局或平局如何?有什么建议吗?我添加了一些关于如何确定是否发生平局的更多信息