要解决Android Studio Tic Tac Toe游戏没有显示获胜用户的问题,可以按照以下步骤进行:
示例代码:
private char[][] board = new char[3][3];
private char currentPlayer = 'X';
// 在每一步下完棋后调用这个方法来检查是否有玩家获胜
private boolean checkWinner() {
// 检查每一行
for (int i = 0; i < 3; i++) {
if (board[i][0] == currentPlayer && board[i][1] == currentPlayer && board[i][2] == currentPlayer) {
return true;
}
}
// 检查每一列
for (int i = 0; i < 3; i++) {
if (board[0][i] == currentPlayer && board[1][i] == currentPlayer && board[2][i] == currentPlayer) {
return true;
}
}
// 检查对角线
if (board[0][0] == currentPlayer && board[1][1] == currentPlayer && board[2][2] == currentPlayer) {
return true;
}
if (board[0][2] == currentPlayer && board[1][1] == currentPlayer && board[2][0] == currentPlayer) {
return true;
}
return false;
}
// 下棋的方法,在点击棋盘格子时调用
private void makeMove(int row, int col) {
if (board[row][col] == '\u0000') { // 检查该格子是否已经有棋子
board[row][col] = currentPlayer;
// 检查是否有玩家获胜
if (checkWinner()) {
// 显示获胜用户
String winner = currentPlayer + " wins!";
Toast.makeText(this, winner, Toast.LENGTH_SHORT).show();
resetGame(); // 重新开始游戏
} else {
// 切换玩家
currentPlayer = (currentPlayer == 'X') ? 'O' : 'X';
}
}
}
示例布局代码:
示例代码:
private TextView winnerTextView;
private Button resetButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
winnerTextView = findViewById(R.id.winnerTextView);
resetButton = findViewById(R.id.resetButton);
}
// 检查是否有玩家获胜