2025-06-24 18:24:59 +08:00
2025-06-23 20:43:58 +08:00
2025-06-24 18:16:23 +08:00
2025-06-24 18:16:56 +08:00
2025-06-24 18:17:33 +08:00
2025-06-24 18:15:40 +08:00

🎲 五子棋人机对战AI

项目简介

基于C语言实现的五子棋人机对战系统,采用α-β剪枝优化的极小极大算法,支持自定义棋盘大小、游戏复盘和实时评分。

功能特性

  • 🎮 人机对战模式
  • ⚙️ 可调棋盘尺寸(5x5到25x25)
  • 🧠 智能AI决策(1-5级难度)
  • 🔍 完整游戏复盘功能
  • 📊 实时对局评分系统
  • ↩️ 悔棋功能(可撤销上一步)
  • 🖥️ 清晰的终端界面显示

🚀 快速开始

编译程序

gcc 五子棋.c gobang.c -o output/五子棋.exe

运行游戏

.\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改进项目!

S
Description
这是一个使用纯 C 语言编写的现代化五子棋系统。采用轻量级的 IUP 库构建原生风格的图形化用户界面。系统不仅支持基于 Minimax 算法(带 Alpha-Beta 剪枝)的高级人机对战,还完美支持基于 ENet 的局域网多人实时联机对弈。
https://github.com/LHY0125/Gobang-Game
Readme 5.4 MiB
Languages
C 82.6%
C++ 15.4%
Makefile 0.7%
CMake 0.6%
Inno Setup 0.3%
Other 0.4%