docs: 更新项目文档至v8.3并调整.gitignore

- 更新项目要求文档至v8.3版本,说明引入IUP图形库和构建系统优化
- 更新项目简介,详细说明v8.3的图形界面重构和目录结构调整
- 更新GUI说明文档,从SDL3迁移至IUP,并更新编译和运行指南
- 在.gitignore中添加obj目录,避免编译生成的对象文件被提交
This commit is contained in:
2026-03-16 13:26:28 +08:00
parent ec63b6d97c
commit 1332d14347
4 changed files with 92 additions and 92 deletions
+52 -62
View File
@@ -1,12 +1,15 @@
# 五子棋游戏 - 图形化界面说明 (v8.0)
# 五子棋游戏 - 图形化界面说明 (v8.3)
## 概述
v8.0版本实现了完整的双版本架构,支持两种界面模式:
- **控制台界面**:传统的文本界面,保持原有功能完整性
- **图形化界面**:基于SDL3的现代图形界面,提供可视化操作体验
## v8.0新增功能
-**SDL3图形化界面**:现代化的可视化棋盘
v8.3版本引入了基于IUP的现代化图形界面,实现了完整的双版本架构:
- **控制台界面**:传统的文本界面,保持原有功能完整性
- **图形化界面**:基于IUP的现代图形界面,提供可视化操作体验
## v8.3 新增功能
-**IUP图形化界面**:原生控件风格,轻量高效
-**鼠标交互支持**:点击落子,直观操作
-**窗口管理优化**:自动居中,响应式设计
-**事件驱动架构**:流畅的用户交互体验
@@ -15,73 +18,58 @@ v8.0版本实现了完整的双版本架构,支持两种界面模式:
## 环境要求
### 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文件
└── ...
```
### IUP库配置
项目已内置IUP库(位于 `libs/iup-3.31_Win64_dllw6_lib`),无需额外安装。
### 编译环境
- GCC编译器(MinGW-w64)位于:`D:\Program Files\mingw64`
- GCC编译器(MinGW-w64
- Make工具(mingw32-make
- Windows 10/11操作系统
- 支持OpenGL的显卡驱动
## 编译方法
### 方法一:使用批处理脚本(推荐)
### 方法一:使用Makefile(推荐)
```bash
# 编译图形化版本
.\compile_gui.bat
mingw32-make gui
```
### 方法二:手动编译
```bash
# 控制台版本
gcc -std=c17 -o gobang.exe *.c -lws2_32
# 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
# 图形化版本
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" .
# 复制IUP动态库到bin目录
copy libs\iup-3.31_Win64_dllw6_lib\iup.dll bin\
```
## 运行方法
### 控制台版本
```bash
.\gobang.exe
```
在主菜单选择模式1-7进行游戏
### 图形化版本
```bash
.\gobang_gui.exe
.\bin\gobang_gui.exe
```
在主菜单选择模式8启动图形化界面
或者在主菜单选择模式8启动图形化界面。
## 图形化界面功能
- **窗口大小**800x600像素
- **棋盘显示**:15x15标准五子棋棋盘,木质纹理背景
- **棋盘显示**:15x15标准五子棋棋盘
- **鼠标操作**:点击棋盘交叉点进行落子
- **键盘操作**
- `ESC`:退出图形化界面返回主菜单
- `R`:重新开始游戏
- `U`:撤销上一步(如果支持)
- **游戏状态**
- 实时显示当前玩家(黑子/白子)
- 显示游戏进度和状态
- 胜负结果提示
- **视觉效果**
- 黑白棋子带阴影效果
- 清晰的黑白棋子
- 当前玩家指示器
- 平滑的图形渲染
- **胜负判定**:自动检测五子连珠并显示获胜者
@@ -89,39 +77,39 @@ copy "D:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\bin\SDL3.dll" .
## 故障排除
### 编译错误
1. **找不到SDL3头文件**
- 检查SDL3库路径是否正确
- 确保include目录存在
1. **找不到IUP头文件**
- 检查Makefile中的`IUP_PATH`配置是否正确指向`libs`目录
2. **链接错误**
- 检查lib目录是否存在
- 确保SDL3.lib文件存在
- 确保链接了所有必要的Windows系统库(`-lgdi32 -lcomdlg32 -lcomctl32 -luuid -lole32`
3. **运行时错误**
- 确保SDL3.dll在系统PATH中或与exe文件同目录
- 确保`iup.dll`位于可执行文件同级目录或系统PATH中
### 图形化界面启动失败
- 检查SDL3库是否正确安装在指定路径
- 确保SDL3.dll文件在exe同目录下
- 检查显卡驱动是否支持OpenGL
- 确保`iup.dll`文件在exe同目录下
- 尝试以管理员权限运行
- 确认Windows版本兼容性
### 运行时问题
- **窗口无法显示**:检查显示器分辨率设置
- **中文乱码**:确保代码中已启用UTF-8模式 `IupSetGlobal("UTF8MODE", "YES");`
- **鼠标点击无响应**:确认点击在棋盘交叉点附近
- **游戏卡顿**:关闭其他占用GPU的程序
## 使用说明
### 快速开始
1. 运行 `compile_gui.bat` 编译图形化版本
2. 运行 `gobang_gui.exe` 启动程序
1. 运行 `mingw32-make gui` 编译图形化版本
2. 运行 `bin\gobang_gui.exe` 启动程序
3. 在主菜单选择 "8. 图形化界面"
4. 使用鼠标点击棋盘进行游戏
5. 按ESC键退出图形化界面
### 游戏规则
- 黑子先行,轮流落子
- 率先形成五子连珠者获胜
- 支持横、竖、斜四个方向的连珠判定
@@ -129,19 +117,21 @@ copy "D:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\bin\SDL3.dll" .
## 开发说明
### 文件结构
- `gui.h` - 图形化界面头文件
- `gui.c` - 图形化界面实现
- `main.c` - 主程序(已添加图形化模式
- `compile_gui.bat` - 图形化版本编译脚本
- `include/gui.h` - 图形化界面头文件
- `src/gui.c` - 图形化界面实现(基于IUP
- `src/main.c` - 主程序(已添加图形化模式)
- `Makefile` - 构建脚本
### 扩展功能
图形化界面支持进一步扩展:
- 音效支持
- 动画效果
- 更多IUP控件集成
- 主题切换
- 网络对战界面
- 网络对战界面优化
- AI难度可视化调节
---
**注意**:首次使用图形化界面前,请确保SDL3库已正确配置。
**注意**:首次使用图形化界面前,请确保IUP动态库已正确复制。