取消函数的使用,用最基本的java语言实现一个旗子在某一行和某一列同时被消除的情况
时间: 2024-09-29 22:16:23 浏览: 48
在Java中,如果你想实现一个简单的井字棋游戏( Tic-Tac-Toe),并且想要检查一个旗帜(通常指X或O)在行、列或对角线上是否同时被消除,你可以创建一个二维数组来表示棋盘状态,然后遍历这个数组并检查每个位置及其周围的旗子。下面是一个基本的例子:
```java
public class TicTacToe {
private char[][] board = new char[3][3];
private char currentPlayer;
public void makeMove(int row, int col, char symbol) {
if (board[row][col] == '\0') { // 空位
board[row][col] = symbol;
currentPlayer = (currentPlayer == 'X') ? 'O' : 'X'; // 切换玩家
} else {
System.out.println("该位置已有棋子,无法操作");
}
}
public boolean isEliminated(char symbol) {
for (int i = 0; i < 3; i++) {
// 检查行
if (board[i][0] == symbol && board[i][1] == symbol && board[i][2] == symbol) {
return true;
}
// 检查列
if (board[0][i] == symbol && board[1][i] == symbol && board[2][i] == symbol) {
return true;
}
// 检查主对角线
if (board[0][0] == symbol && board[1][1] == symbol && board[2][2] == symbol) {
return true;
}
// 检查副对角线
if (board[0][2] == symbol && board[1][1] == symbol && board[2][0] == symbol) {
return true;
}
}
return false;
}
// 示例用法
public static void main(String[] args) {
TicTacToe game = new TicTacToe();
game.makeMove(0, 0, 'X'); // 第一行第一列放置X
game.makeMove(1, 1, 'O'); // 第二行第二列放置O
if (game.isEliminated('X')) {
System.out.println("X已被消除!");
} else {
System.out.println("未达到消除条件");
}
}
}
```
在这个例子中,`makeMove`方法用于下棋,`isEliminated`方法检查某个旗子是否在同一行、同一列或对角线上连续占据三个空位。
阅读全文