# 五子棋游戏 - 图形化界面说明 (v8.0) ## 概述 v8.0版本实现了完整的双版本架构,支持两种界面模式: - **控制台界面**:传统的文本界面,保持原有功能完整性 - **图形化界面**:基于SDL3的现代图形界面,提供可视化操作体验 ## v8.0新增功能 - ✅ **SDL3图形化界面**:现代化的可视化棋盘 - ✅ **鼠标交互支持**:点击落子,直观操作 - ✅ **窗口管理优化**:自动居中,响应式设计 - ✅ **事件驱动架构**:流畅的用户交互体验 - ✅ **安装包支持**:提供专业的安装程序 - ✅ **双版本并行**:控制台和GUI版本独立运行 ## 环境要求 ### SDL3库配置 1. 下载SDL3-3.2.22开发库 2. 解压到:`D:\settings\SDL\SDL3-3.2.22\` 3. 确保目录结构如下: ``` D:\settings\SDL\SDL3-3.2.22\ ├── x86_64-w64-mingw32\ │ ├── include\ # 头文件 │ ├── lib\ # 库文件 │ └── bin\ # DLL文件 └── ... ``` ### 编译环境 - GCC编译器(MinGW-w64)位于:`D:\Program Files\mingw64` - Windows 10/11操作系统 - 支持OpenGL的显卡驱动 ## 编译方法 ### 方法一:使用批处理脚本(推荐) ```bash # 编译图形化版本 .\compile_gui.bat ``` ### 方法二:手动编译 ```bash # 控制台版本 gcc -std=c17 -o gobang.exe *.c -lws2_32 # 图形化版本 gcc -std=c17 -o gobang_gui.exe *.c -ID:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\include -LD:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\lib -lSDL3 -lws2_32 # 复制SDL3.dll到当前目录 copy "D:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\bin\SDL3.dll" . ``` ## 运行方法 ### 控制台版本 ```bash .\gobang.exe ``` 在主菜单选择模式1-7进行游戏 ### 图形化版本 ```bash .\gobang_gui.exe ``` 在主菜单选择模式8启动图形化界面 ## 图形化界面功能 - **窗口大小**:800x600像素 - **棋盘显示**:15x15标准五子棋棋盘,木质纹理背景 - **鼠标操作**:点击棋盘交叉点进行落子 - **键盘操作**: - `ESC`:退出图形化界面返回主菜单 - `R`:重新开始游戏 - `U`:撤销上一步(如果支持) - **游戏状态**: - 实时显示当前玩家(黑子/白子) - 显示游戏进度和状态 - 胜负结果提示 - **视觉效果**: - 黑白棋子带阴影效果 - 当前玩家指示器 - 平滑的图形渲染 - **胜负判定**:自动检测五子连珠并显示获胜者 ## 故障排除 ### 编译错误 1. **找不到SDL3头文件** - 检查SDL3库路径是否正确 - 确保include目录存在 2. **链接错误** - 检查lib目录是否存在 - 确保SDL3.lib文件存在 3. **运行时错误** - 确保SDL3.dll在系统PATH中或与exe文件同目录 ### 图形化界面启动失败 - 检查SDL3库是否正确安装在指定路径 - 确保SDL3.dll文件在exe同目录下 - 检查显卡驱动是否支持OpenGL - 尝试以管理员权限运行 - 确认Windows版本兼容性 ### 运行时问题 - **窗口无法显示**:检查显示器分辨率设置 - **鼠标点击无响应**:确认点击在棋盘交叉点附近 - **游戏卡顿**:关闭其他占用GPU的程序 ## 使用说明 ### 快速开始 1. 运行 `compile_gui.bat` 编译图形化版本 2. 运行 `gobang_gui.exe` 启动程序 3. 在主菜单选择 "8. 图形化界面" 4. 使用鼠标点击棋盘进行游戏 5. 按ESC键退出图形化界面 ### 游戏规则 - 黑子先行,轮流落子 - 率先形成五子连珠者获胜 - 支持横、竖、斜四个方向的连珠判定 ## 开发说明 ### 文件结构 - `gui.h` - 图形化界面头文件 - `gui.c` - 图形化界面实现 - `main.c` - 主程序(已添加图形化模式) - `compile_gui.bat` - 图形化版本编译脚本 ### 扩展功能 图形化界面支持进一步扩展: - 音效支持 - 动画效果 - 主题切换 - 网络对战界面 - AI难度可视化调节 --- **注意**:首次使用图形化界面前,请确保SDL3库已正确配置。