当前位置:首页 > java > 正文

java怎么编程五子棋(java五子棋编程代码)

  • java
  • 2024-03-28 00:24:56
  • 4955
Java 五子棋编程
要素:
1. 棋盘:
- 使用二维数组或列表来表示棋盘。
- 每个元素表示棋盘上一个位置的状态(空,黑棋,白棋)。
java
int[][] board = new int[15][15]; // 15x15 棋盘
2. 玩家:
- 定义两个玩家类,分别代表黑棋和白棋玩家。
- 每位玩家有自己的回合和棋子颜色。
java
class Player {
boolean isBlack; // 是否为黑棋玩家
}
3. 落子:
- 定义落子的方法,将指定位置上的棋盘元素设置为玩家的棋子颜色。
java
void placePiece(int x, int y, Player player) {
board[x][y] = player.isBlack ? 1 : 2;
}
4. 判断输赢:
- 定义判断输赢的方法,检查棋盘上是否有五子连线。
- 可以使用以下算法:
java
boolean checkWin(Player player) {
int color = player.isBlack ? 1 : 2;
// 检查水平方向
for (int i = 0; i < 15; i++) {
int count = 0;
for (int j = 0; j < 15; j++) {
if (board[i][j] == color) {
count++;
} else {
count = 0;
}
if (count >= 5) {
return true;
}
}
}
// 检查垂直方向
for (int j = 0; j < 15; j++) {
int count = 0;
for (int i = 0; i < 15; i++) {
if (board[i][j] == color) {
count++;
} else {
count = 0;
}
if (count >= 5) {
return true;
}
}
}
// 检查对角线方向(右上到左下)
for (int i = 4; i < 15; i++) {
int count = 0;
for (int j = 0, k = i; j < 15 && k >= 0; j++, k--) {
if (board[k][j] == color) {
count++;
} else {
count = 0;
}
if (count >= 5) {
return true;
}
}
}
// 检查对角线方向(左上到右下)
for (int i = 4; i < 15; i++) {
int count = 0;
for (int j = 14, k = i; j >= 0 && k >= 0; j--, k--) {
if (board[k][j] == color) {
count++;
} else {
count = 0;
}
if (count >= 5) {
return true;
}
}
}
return false;
}
5. 游戏循环:
- 定义游戏循环,交替执行以下步骤:
- 玩家轮流落子
- 检查是否有人获胜
- 如果没有人获胜,继续游戏
java
while (true) {
// 黑棋玩家落子
placePiece(x, y, blackPlayer);
// 检查黑棋玩家是否获胜
if (checkWin(blackPlayer)) {
System.out.println("黑棋玩家获胜!");
break;
}
// 白棋玩家落子
placePiece(x, y, whitePlayer);
// 检查白棋玩家是否获胜
if (checkWin(whitePlayer)) {
System.out.println("白棋玩家获胜!");
break;
}
}