个人五子棋
2026/6/26 5:32:45 网站建设 项目流程

# 《面向对象程序设计(Java)课程设计》个人博客

**姓名**:[杨珺榕]
**小组项目**:五子棋双人对战游戏
**个人负责模块**:游戏核心逻辑与胜负判定算法

## 1. 我负责的功能概述
在本项目中,我独立完成了以下功能模块:
- 棋盘数据模型设计(15×15二维数组)
- 回合管理机制(黑白交替落子)
- 胜负判定算法(四方向五子连珠检测)
- 平局判定

## 2. 核心代码详解:胜负判定算法
这是整个游戏最核心的算法。当一颗棋子落下后,从该点出发向四个方向(水平、垂直、两条对角线)分别统计连续同色棋子的数量。
```java
private boolean checkWin(int row, int col) {
int color = board[row][col];
int[][] dirs = {{1,0},{0,1},{1,1},{1,-1}};
for (int[] d : dirs) {
int count = 1;
for (int step = 1; step < 5; step++) {
int r = row + d[0]*step, c = col + d[1]*step;
if (r<0||r>=15||c<0||c>=15||board[r][c]!=color) break;
count++;
}
for (int step = 1; step < 5; step++) {
int r = row - d[0]*step, c = col - d[1]*step;
if (r<0||r>=15||c<0||c>=15||board[r][c]!=color) break;
count++;
}
if (count >= 5) return true;
}
return false;
}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询