# 五子棋人机对战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()` - 胜负判断 ## 许可证 自由使用,请注明原作者。