【发布时间】:2015-09-21 10:50:57
【问题描述】:
import java.util.Scanner;
public class TTT{
public static int row, col;
public static Scanner scan = new Scanner(System.in);
public static char[][] board = new char[3][3];
public static char turn = 'X';
public static void main(String args[]){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
board[i][j] = '_';
}
}
Play();
}
public static void Play(){
boolean playing = true;
printBoard();
while(playing){
System.out.println("Enter a row(1,2,3): ");
row = scan.nextInt() - 1;
System.out.println("Enter a column(1,2,3): ");
col = scan.nextInt() - 1;
board[row][col] = turn;
if (GameOver(row, col)){
playing = false;
System.out.println("Game Over! Player " + turn + " wins!");
}
if (turn == 'X')
turn = 'O';
else
turn = 'X';
}
}
public static void printBoard(){
for(int i = 0; i < 3;i++){
System.out.println();
for(int j = 0; j < 3; j++){
if (j == 0)
System.out.print("| ");
System.out.print(board[i][j] + " | ");
}
}
System.out.println();
}
public static boolean GameOver(int xToken,int oToken){
// Check perpendicular victory
if (board[0][oToken] == board[1][oToken]
&& board[0][oToken] == board[2][oToken])
return true;
if (board[xToken][0] == board[xToken][1]
&& board[xToken][0] == board[xToken][2])
return true;
// Check diagonal victory
if (board[0][0] == board[1][1] && board[0][0] == board[2][2]
&& board[1][1] != '_')
return true;
if (board[0][2] == board[1][1] && board[0][2] == board [2][0]
&& board[1][1] != '_');
return true;
return false;
}
}
我正在尝试完成我的井字游戏,但是我在最终返回 false 时收到了无法访问的声明;陈述。我也无法让我的程序通过我的整个 for 循环。请帮忙!
【问题讨论】:
-
return true; return false;so return false unreachable.you have a semicolon in if condition -
@FastSnail 不。这不是原因。
-
@sᴜʀᴇsʜᴀᴛᴛᴀ 你是什么意思?你的答案也是这样的
-
@FastSnail 是的。现在是:)
标签: java