mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
147 lines
4.0 KiB
Markdown
147 lines
4.0 KiB
Markdown
# 五子棋游戏 - 图形化界面说明 (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库已正确配置。 |