java五子棋巡逻检查代码
时间: 2023-08-09 12:07:45 浏览: 39
以下是 Java 五子棋巡逻检查的代码示例:
```java
public boolean checkWin(int x, int y, int color) {
int[][] directions = {{0, 1}, {1, 0}, {1, 1}, {1, -1}}; // 四个方向
for (int[] dir : directions) {
int count = 1;
int dx = dir[0];
int dy = dir[1];
// 往当前方向前后搜索四个棋子
for (int i = 1; i <= 4; i++) {
int nx = x + i * dx;
int ny = y + i * dy;
if (nx < 0 || nx >= ROW || ny < 0 || ny >= COL || board[nx][ny] != color) {
break; // 超出棋盘或者棋子颜色不一致,跳出循环
}
count++;
}
// 往当前方向后面搜索四个棋子
for (int i = 1; i <= 4; i++) {
int nx = x - i * dx;
int ny = y - i * dy;
if (nx < 0 || nx >= ROW || ny < 0 || ny >= COL || board[nx][ny] != color) {
break; // 超出棋盘或者棋子颜色不一致,跳出循环
}
count++;
}
if (count >= 5) {
return true; // 连续五个棋子,返回胜利
}
}
return false; // 没有连续五个棋子,返回失败
}
```
该方法的作用是判断在棋盘上是否有连续五个同色棋子。输入参数 x 和 y 表示当前落子的位置,color 表示当前落子的颜色。方法中定义了四个方向,分别为横向、纵向、正斜向和反斜向,通过循环在每个方向上搜索四个棋子,如果有连续五个同色棋子,则返回胜利。如果在所有方向上都没有连续五个同色棋子,则返回失败。