mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
2eab60e2ad54378bf4672139debee62d60eda34b
🎲 五子棋人机对战AI
项目简介
基于C语言实现的五子棋人机对战系统,采用α-β剪枝优化的极小极大算法,支持自定义棋盘大小、游戏复盘和实时评分。
✨ 功能特性
- 🎮 人机对战模式
- ⚙️ 可调棋盘尺寸(5x5到25x25)
- 🧠 智能AI决策(1-5级难度)
- 🔍 完整游戏复盘功能
- 📊 实时对局评分系统
- ↩️ 悔棋功能(可撤销上一步)
- 🖥️ 清晰的终端界面显示
🚀 快速开始
编译程序
gcc 五子棋.c gobang.c -o output/五子棋.exe
运行游戏
.\output\五子棋.exe
🎯 游戏玩法
- 启动后设置棋盘大小(默认15x15)
- 选择AI难度级别(1-5)
- 输入坐标进行游戏(格式:行 列)
- 输入R/r可悔棋
- 游戏结束可查看完整复盘和评分
💻 开发环境
- 操作系统: Windows/Linux/macOS
- 编译器: GCC (MinGW on Windows)
- 终端: 支持UTF-8编码的终端
⚠️ 常见问题
权限问题
如果遇到无法创建记录文件的问题:
- 以管理员身份运行程序
- 手动创建records目录
- 检查防病毒软件设置
中文显示问题
如果遇到乱码:
- Windows: 确保终端使用UTF-8编码
- 添加启动参数:
chcp 65001
🛠️ 技术实现
核心算法
- α-β剪枝优化的极小极大算法
- 3层搜索深度(可调)
- 威胁检测优先机制
评估系统
- 活四/冲四/活三等棋型识别
- 位置权重评估(中心优先)
- 双向延伸检测
- 复盘评分系统(计算双方得分占比)
📂 代码结构
五子棋.c- 主程序(游戏流程控制)gobang.c- 核心算法实现gobang.h- 公共定义和接口
📜 许可证
自由使用,请注明原作者。
🙋 反馈与贡献
欢迎提交Issue或Pull Request改进项目!
Description
这是一个使用纯 C 语言编写的现代化五子棋系统。采用轻量级的 IUP 库构建原生风格的图形化用户界面。系统不仅支持基于 Minimax 算法(带 Alpha-Beta 剪枝)的高级人机对战,还完美支持基于 ENet 的局域网多人实时联机对弈。
https://github.com/LHY0125/Gobang-Game
Languages
C
82.6%
C++
15.4%
Makefile
0.7%
CMake
0.6%
Inno Setup
0.3%
Other
0.4%