# 🎲 五子棋人机对战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. 输入坐标进行游戏(格式:行 列) - 输入R/r可悔棋 4. 游戏结束可查看完整复盘和评分 ## 💻 开发环境 - 操作系统: Windows/Linux/macOS - 编译器: GCC (MinGW on Windows) - 终端: 支持UTF-8编码的终端 ## ⚠️ 常见问题 ### 权限问题 如果遇到无法创建记录文件的问题: 1. 以管理员身份运行程序 2. 手动创建records目录 3. 检查防病毒软件设置 ### 中文显示问题 如果遇到乱码: 1. Windows: 确保终端使用UTF-8编码 2. 添加启动参数: `chcp 65001` ## 🛠️ 技术实现 ### 核心算法 - α-β剪枝优化的极小极大算法 - 3层搜索深度(可调) - 威胁检测优先机制 ### 评估系统 - 活四/冲四/活三等棋型识别 - 位置权重评估(中心优先) - 双向延伸检测 - 复盘评分系统(计算双方得分占比) ## 📂 代码结构 - `五子棋.c` - 主程序(游戏流程控制) - `gobang.c` - 核心算法实现 - `gobang.h` - 公共定义和接口 ## 📜 许可证 自由使用,请注明原作者。 ## 🙋 反馈与贡献 欢迎提交Issue或Pull Request改进项目!