Files
Gobang-Game/MD/README_GUI.md
T
Serendipity 1332d14347 docs: 更新项目文档至v8.3并调整.gitignore
- 更新项目要求文档至v8.3版本,说明引入IUP图形库和构建系统优化
- 更新项目简介,详细说明v8.3的图形界面重构和目录结构调整
- 更新GUI说明文档,从SDL3迁移至IUP,并更新编译和运行指南
- 在.gitignore中添加obj目录,避免编译生成的对象文件被提交
2026-03-16 13:26:28 +08:00

3.5 KiB
Raw Blame History

五子棋游戏 - 图形化界面说明 (v8.3)

概述

v8.3版本引入了基于IUP的现代化图形界面,实现了完整的双版本架构:

  • 控制台界面:传统的文本界面,保持原有功能完整性
  • 图形化界面:基于IUP的现代图形界面,提供可视化操作体验

v8.3 新增功能

  • IUP图形化界面:原生控件风格,轻量高效
  • 鼠标交互支持:点击落子,直观操作
  • 窗口管理优化:自动居中,响应式设计
  • 事件驱动架构:流畅的用户交互体验
  • 安装包支持:提供专业的安装程序
  • 双版本并行:控制台和GUI版本独立运行

环境要求

IUP库配置

项目已内置IUP库(位于 libs/iup-3.31_Win64_dllw6_lib),无需额外安装。

编译环境

  • GCC编译器(MinGW-w64
  • Make工具(mingw32-make
  • Windows 10/11操作系统

编译方法

方法一:使用Makefile(推荐)

# 编译图形化版本
mingw32-make gui

方法二:手动编译

# GUI版本
gcc -std=c17 -o bin/gobang_gui.exe src/*.c -Iinclude -Ilibs/iup-3.31_Win64_dllw6_lib/include -Llibs/iup-3.31_Win64_dllw6_lib -liup -lgdi32 -lcomdlg32 -lcomctl32 -luuid -lole32 -lws2_32

# 复制IUP动态库到bin目录
copy libs\iup-3.31_Win64_dllw6_lib\iup.dll bin\

运行方法

图形化版本

.\bin\gobang_gui.exe

或者在主菜单选择模式8启动图形化界面。

图形化界面功能

  • 窗口大小800x600像素
  • 棋盘显示15x15标准五子棋棋盘
  • 鼠标操作:点击棋盘交叉点进行落子
  • 键盘操作
    • ESC:退出图形化界面返回主菜单
  • 游戏状态
    • 实时显示当前玩家(黑子/白子)
    • 显示游戏进度和状态
    • 胜负结果提示
  • 视觉效果
    • 清晰的黑白棋子
    • 当前玩家指示器
    • 平滑的图形渲染
  • 胜负判定:自动检测五子连珠并显示获胜者

故障排除

编译错误

  1. 找不到IUP头文件

    • 检查Makefile中的IUP_PATH配置是否正确指向libs目录
  2. 链接错误

    • 确保链接了所有必要的Windows系统库(-lgdi32 -lcomdlg32 -lcomctl32 -luuid -lole32
  3. 运行时错误

    • 确保iup.dll位于可执行文件同级目录或系统PATH中

图形化界面启动失败

  • 确保iup.dll文件在exe同目录下
  • 尝试以管理员权限运行
  • 确认Windows版本兼容性

运行时问题

  • 中文乱码:确保代码中已启用UTF-8模式 IupSetGlobal("UTF8MODE", "YES");
  • 鼠标点击无响应:确认点击在棋盘交叉点附近

使用说明

快速开始

  1. 运行 mingw32-make gui 编译图形化版本
  2. 运行 bin\gobang_gui.exe 启动程序
  3. 在主菜单选择 "8. 图形化界面"
  4. 使用鼠标点击棋盘进行游戏
  5. 按ESC键退出图形化界面

游戏规则

  • 黑子先行,轮流落子
  • 率先形成五子连珠者获胜
  • 支持横、竖、斜四个方向的连珠判定

开发说明

文件结构

  • include/gui.h - 图形化界面头文件
  • src/gui.c - 图形化界面实现(基于IUP
  • src/main.c - 主程序(已添加图形化模式)
  • Makefile - 构建脚本

扩展功能

图形化界面支持进一步扩展:

  • 更多IUP控件集成
  • 主题切换
  • 网络对战界面优化
  • AI难度可视化调节

注意:首次使用图形化界面前,请确保IUP动态库已正确复制。