mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
Update README.md
This commit is contained in:
@@ -1,16 +1,19 @@
|
|||||||
# 五子棋人机对战AI
|
# 🎲 五子棋人机对战AI
|
||||||
|
|
||||||
## 项目简介
|
## 项目简介
|
||||||
基于C语言实现的五子棋人机对战系统,采用α-β剪枝优化的极小极大算法,支持自定义棋盘大小和游戏复盘功能。
|
基于C语言实现的五子棋人机对战系统,采用α-β剪枝优化的极小极大算法,支持自定义棋盘大小、游戏复盘和实时评分。
|
||||||
|
|
||||||
## 功能特性
|
## ✨ 功能特性
|
||||||
- 🎮 人机对战模式
|
- 🎮 人机对战模式
|
||||||
- ⚙️ 可调棋盘尺寸(5x5到25x25)
|
- ⚙️ 可调棋盘尺寸(5x5到25x25)
|
||||||
- 🧠 智能AI决策(1-5级难度)
|
- 🧠 智能AI决策(1-5级难度)
|
||||||
- 🔍 完整游戏复盘功能
|
- 🔍 完整游戏复盘功能
|
||||||
- 📊 清晰的终端界面显示
|
- 📊 实时对局评分系统
|
||||||
|
- ↩️ 悔棋功能(可撤销上一步)
|
||||||
|
- 🖥️ 清晰的终端界面显示
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
## 快速开始
|
|
||||||
### 编译程序
|
### 编译程序
|
||||||
```bash
|
```bash
|
||||||
gcc 五子棋.c gobang.c -o output/五子棋.exe
|
gcc 五子棋.c gobang.c -o output/五子棋.exe
|
||||||
@@ -21,13 +24,33 @@ gcc 五子棋.c gobang.c -o output/五子棋.exe
|
|||||||
.\output\五子棋.exe
|
.\output\五子棋.exe
|
||||||
```
|
```
|
||||||
|
|
||||||
## 游戏玩法
|
## 🎯 游戏玩法
|
||||||
1. 启动后设置棋盘大小(默认15x15)
|
1. 启动后设置棋盘大小(默认15x15)
|
||||||
2. 选择AI难度级别(1-5)
|
2. 选择AI难度级别(1-5)
|
||||||
3. 输入坐标进行游戏(格式:行 列)
|
3. 输入坐标进行游戏(格式:行 列)
|
||||||
4. 游戏结束可查看完整复盘
|
- 输入R/r可悔棋
|
||||||
|
4. 游戏结束可查看完整复盘和评分
|
||||||
|
|
||||||
|
## 💻 开发环境
|
||||||
|
- 操作系统: Windows/Linux/macOS
|
||||||
|
- 编译器: GCC (MinGW on Windows)
|
||||||
|
- 终端: 支持UTF-8编码的终端
|
||||||
|
|
||||||
|
## ⚠️ 常见问题
|
||||||
|
|
||||||
|
### 权限问题
|
||||||
|
如果遇到无法创建记录文件的问题:
|
||||||
|
1. 以管理员身份运行程序
|
||||||
|
2. 手动创建records目录
|
||||||
|
3. 检查防病毒软件设置
|
||||||
|
|
||||||
|
### 中文显示问题
|
||||||
|
如果遇到乱码:
|
||||||
|
1. Windows: 确保终端使用UTF-8编码
|
||||||
|
2. 添加启动参数: `chcp 65001`
|
||||||
|
|
||||||
|
## 🛠️ 技术实现
|
||||||
|
|
||||||
## 技术实现
|
|
||||||
### 核心算法
|
### 核心算法
|
||||||
- α-β剪枝优化的极小极大算法
|
- α-β剪枝优化的极小极大算法
|
||||||
- 3层搜索深度(可调)
|
- 3层搜索深度(可调)
|
||||||
@@ -37,18 +60,15 @@ gcc 五子棋.c gobang.c -o output/五子棋.exe
|
|||||||
- 活四/冲四/活三等棋型识别
|
- 活四/冲四/活三等棋型识别
|
||||||
- 位置权重评估(中心优先)
|
- 位置权重评估(中心优先)
|
||||||
- 双向延伸检测
|
- 双向延伸检测
|
||||||
|
- 复盘评分系统(计算双方得分占比)
|
||||||
|
|
||||||
## 开发说明
|
## 📂 代码结构
|
||||||
### 代码结构
|
|
||||||
- `五子棋.c` - 主程序(游戏流程控制)
|
- `五子棋.c` - 主程序(游戏流程控制)
|
||||||
- `gobang.c` - 核心算法实现
|
- `gobang.c` - 核心算法实现
|
||||||
- `gobang.h` - 公共定义和接口
|
- `gobang.h` - 公共定义和接口
|
||||||
|
|
||||||
### 关键函数
|
## 📜 许可证
|
||||||
- `ai_move()` - AI决策入口
|
自由使用,请注明原作者。
|
||||||
- `evaluate_pos()` - 位置评估
|
|
||||||
- `dfs()` - α-β剪枝搜索
|
|
||||||
- `check_win()` - 胜负判断
|
|
||||||
|
|
||||||
## 许可证
|
## 🙋 反馈与贡献
|
||||||
自由使用,请注明原作者。
|
欢迎提交Issue或Pull Request改进项目!
|
||||||
|
|||||||
Reference in New Issue
Block a user