Java Tictaoe检查平局并检查已被占据的位置
我现在在Tictatcoe项目工作。现在,我的问题是如何在不使用方法的情况下检查Tictoe中的平局游戏和已取得的点。我被卡住了,我要解决这个问题三天 这是一个2人的提克塔托 这是我的密码: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
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循环后)您编写的代码目前在做什么?您无法解决的具体问题是什么?抱歉,我们不允许使用切换语句,平局或平局如何?有什么建议吗?我添加了一些关于如何确定是否发生平局的更多信息