mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
# 五子棋人机对战AI
|
||
|
||
## 项目简介
|
||
基于C语言实现的五子棋人机对战系统,采用α-β剪枝优化的极小极大算法,支持自定义棋盘大小和游戏复盘功能。
|
||
|
||
## 功能特性
|
||
- 🎮 人机对战模式
|
||
- ⚙️ 可调棋盘尺寸(5x5到25x25)
|
||
- 🧠 智能AI决策(1-5级难度)
|
||
- 🔍 完整游戏复盘功能
|
||
- 📊 清晰的终端界面显示
|
||
|
||
## 快速开始
|
||
### 编译程序
|
||
```bash
|
||
gcc 五子棋.c gobang.c -o output/五子棋.exe
|
||
```
|
||
|
||
### 运行游戏
|
||
```bash
|
||
.\output\五子棋.exe
|
||
```
|
||
|
||
## 游戏玩法
|
||
1. 启动后设置棋盘大小(默认15x15)
|
||
2. 选择AI难度级别(1-5)
|
||
3. 输入坐标进行游戏(格式:行 列)
|
||
4. 游戏结束可查看完整复盘
|
||
|
||
## 技术实现
|
||
### 核心算法
|
||
- α-β剪枝优化的极小极大算法
|
||
- 3层搜索深度(可调)
|
||
- 威胁检测优先机制
|
||
|
||
### 评估系统
|
||
- 活四/冲四/活三等棋型识别
|
||
- 位置权重评估(中心优先)
|
||
- 双向延伸检测
|
||
|
||
## 开发说明
|
||
### 代码结构
|
||
- `五子棋.c` - 主程序(游戏流程控制)
|
||
- `gobang.c` - 核心算法实现
|
||
- `gobang.h` - 公共定义和接口
|
||
|
||
### 关键函数
|
||
- `ai_move()` - AI决策入口
|
||
- `evaluate_pos()` - 位置评估
|
||
- `dfs()` - α-β剪枝搜索
|
||
- `check_win()` - 胜负判断
|
||
|
||
## 许可证
|
||
自由使用,请注明原作者。 |