mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-09 18:09:46 +08:00
v8.0版本更新:添加SDL3图形化界面功能和完善文档
This commit is contained in:
@@ -2,13 +2,23 @@
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
> 🎯 **最新版本 v7.0** - 代码架构重构更新,实现结构体定义集中化、配置参数统一管理、代码模块化优化等核心改进
|
||||
> 🎯 **最新版本 v8.0** - GUI图形化界面更新,实现SDL3图形化界面、现代化用户体验、可视化棋盘操作等重大功能升级
|
||||
|
||||
## 📋 大版本更新
|
||||
|
||||
### v8.0 (2025-01-18) - GUI图形化界面更新
|
||||
- 🖥️ **SDL3图形化界面** - 全新的现代化图形用户界面
|
||||
- 🎮 **可视化棋盘操作** - 支持鼠标点击落子和直观的棋盘显示
|
||||
- 🎨 **现代化UI设计** - 美观的界面布局和用户体验优化
|
||||
- 📦 **安装包制作** - 提供Inno Setup和NSIS两种安装包方案
|
||||
- 🔧 **双版本支持** - 同时支持控制台版本和GUI版本
|
||||
- 🎯 **窗口管理优化** - 完善的窗口显示和事件处理机制
|
||||
- 📱 **响应式界面** - 自适应窗口大小和分辨率
|
||||
- 🚀 **性能优化** - 图形渲染和事件处理性能提升
|
||||
|
||||
### v7.0 (2025-07-20) - 代码架构重构更新
|
||||
- 🏗️ **结构体定义集中化** - 所有数据结构统一管理在type.h中
|
||||
- ⚙️ **配置参数统一管理** - 所有配置宏定义集中在config.h中
|
||||
@@ -23,6 +33,7 @@
|
||||
## 目录
|
||||
- [C语言五子棋人机对战AI](#c语言五子棋人机对战ai)
|
||||
- [📋 大版本更新](#-大版本更新)
|
||||
- [v8.0 (2025-01-18) - GUI图形化界面更新](#v80-2025-01-18---gui图形化界面更新)
|
||||
- [v7.0 (2025-07-20) - 代码架构重构更新](#v70-2025-07-20---代码架构重构更新)
|
||||
- [目录](#目录)
|
||||
- [项目简介](#项目简介)
|
||||
@@ -64,7 +75,7 @@
|
||||
- [🔧 技术优化](#-技术优化)
|
||||
|
||||
## 项目简介
|
||||
这是一个使用C语言实现的现代化五子棋对战系统,支持人机对战、双人对战和网络对战三种模式。系统基于 Alpha-Beta 剪枝优化的 Minimax 算法,具备完整的配置管理、复盘分析、智能评分和网络通信功能。
|
||||
这是一个使用C语言实现的现代化五子棋对战系统,支持人机对战、双人对战和网络对战三种模式。系统基于 Alpha-Beta 剪枝优化的 Minimax 算法,具备完整的配置管理、复盘分析、智能评分和网络通信功能。v8.0版本新增SDL3图形化界面,提供现代化的可视化游戏体验,同时保持控制台版本的完整功能。
|
||||
|
||||
## 功能特性
|
||||
|
||||
@@ -72,6 +83,8 @@
|
||||
- **人机对战模式** - 与智能AI进行对弈
|
||||
- **双人对战模式** - 支持本地双人游戏
|
||||
- **复盘模式** - 回顾和分析历史对局
|
||||
- **GUI图形化模式** - 现代化图形界面游戏体验
|
||||
- **控制台模式** - 传统终端界面游戏模式
|
||||
|
||||
### ⚙️ 游戏设置
|
||||
- **自定义棋盘尺寸** - 支持5x5至25x25可调节棋盘
|
||||
@@ -88,24 +101,33 @@
|
||||
- **MVP评选系统** - 自动评选对局最佳表现者
|
||||
|
||||
### 💻 用户体验
|
||||
- **现代化UI界面** - 清晰直观的终端用户界面
|
||||
- **双界面支持** - 同时提供图形化界面和终端界面
|
||||
- **SDL3图形化界面** - 现代化的可视化游戏体验
|
||||
- **鼠标操作支持** - 直观的点击落子操作
|
||||
- **完备输入验证** - 确保所有用户输入的有效性和安全性
|
||||
- **智能错误提示** - 详细的错误信息和操作指导
|
||||
- **响应式设计** - 自适应窗口大小和分辨率
|
||||
- **跨平台兼容** - 支持Windows系统,预留跨平台扩展
|
||||
|
||||
### 🔧 技术特性
|
||||
- **模块化架构** - 清晰的代码结构,便于维护和扩展
|
||||
- **SDL3图形库集成** - 现代化的跨平台图形渲染支持
|
||||
- **双版本架构** - 控制台版本和GUI版本并行开发
|
||||
- **结构体定义集中化** - 所有数据结构统一在type.h中管理
|
||||
- **配置参数统一管理** - 所有配置宏定义集中在config.h中
|
||||
- **全局变量统一管理** - 所有全局变量集中在globals模块中管理
|
||||
- **内存优化管理** - 高效的内存使用和资源管理
|
||||
- **配置文件支持** - INI格式配置文件自动加载保存
|
||||
- **UTF-8编码支持** - 完美支持中文显示
|
||||
- **事件驱动架构** - 高效的图形界面事件处理机制
|
||||
- **安装包支持** - 提供专业的软件安装和分发方案
|
||||
- **网络对战功能** - 完整的在线多人对战系统
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 编译项目
|
||||
|
||||
#### 控制台版本编译
|
||||
```bash
|
||||
gcc -std=c17 -o gobang.exe *.c -lws2_32
|
||||
```
|
||||
@@ -115,13 +137,34 @@ gcc -std=c17 -o gobang.exe *.c -lws2_32
|
||||
gcc -O2 -o gobang.exe main.c gobang.c game_mode.c ai.c record.c init_board.c ui.c config.c globals.c network.c -lws2_32
|
||||
```
|
||||
|
||||
**注意:** Windows系统需要添加 `-lws2_32` 链接库以支持网络功能
|
||||
#### GUI版本编译(需要SDL3)
|
||||
```bash
|
||||
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
|
||||
copy "D:\settings\SDL\SDL3-3.2.22\x86_64-w64-mingw32\bin\SDL3.dll" .
|
||||
```
|
||||
|
||||
或者使用批处理文件:
|
||||
```bash
|
||||
.\compile_gui.bat
|
||||
```
|
||||
|
||||
**注意:**
|
||||
- Windows系统需要添加 `-lws2_32` 链接库以支持网络功能
|
||||
- GUI版本需要SDL3库支持,请确保SDL3路径正确
|
||||
- 编译GUI版本后需要将SDL3.dll复制到可执行文件目录
|
||||
|
||||
### 运行游戏
|
||||
|
||||
#### 控制台版本
|
||||
```bash
|
||||
.\gobang.exe
|
||||
```
|
||||
|
||||
#### GUI版本
|
||||
```bash
|
||||
.\gobang_gui.exe
|
||||
```
|
||||
|
||||
## 游戏玩法
|
||||
|
||||
### 🚀 快速开始
|
||||
@@ -225,6 +268,7 @@ chcp 65001
|
||||
- **`gobang.c/h`** - 核心游戏逻辑,包括棋盘操作、胜负判断
|
||||
- **`game_mode.c/h`** - 游戏模式实现 (人机对战、双人对战、复盘模式)
|
||||
- **`ai.c/h`** - AI算法实现 (Minimax + Alpha-Beta剪枝)
|
||||
- **`gui.c/h`** - SDL3图形化界面模块 (窗口管理、事件处理、图形渲染)
|
||||
|
||||
### 🎮 功能模块
|
||||
- **`ui.c/h`** - 用户界面模块,负责所有显示和交互
|
||||
@@ -238,7 +282,12 @@ chcp 65001
|
||||
- **`gobang_config.ini`** - 游戏配置文件 (自动生成和保存)
|
||||
- **`records/`** - 对局记录目录 (CSV格式存储)
|
||||
- **`type.h`** - 数据结构和类型定义集中文件
|
||||
- **`compile_gui.bat`** - GUI版本编译脚本
|
||||
- **`installer/`** - 安装包制作目录
|
||||
- **`setup.iss`** - Inno Setup安装脚本
|
||||
- **`installer.nsi`** - NSIS安装脚本
|
||||
- **`MD/README.md`** - 项目说明文档
|
||||
- **`MD/README_GUI.md`** - GUI版本使用指南
|
||||
- **`MD/AI_Enhancement_Guide.md`** - AI算法增强指南
|
||||
- **`MD/NETWORK_README.md`** - 网络功能使用说明
|
||||
- **`MD/Architecture_Refactoring_Guide.md`** - 代码架构重构详细指南
|
||||
@@ -266,6 +315,11 @@ chcp 65001
|
||||
## 未来计划
|
||||
|
||||
### ✅ 已完成功能
|
||||
- [x] **SDL3图形化界面** - 完成现代化GUI界面开发,支持可视化棋盘操作
|
||||
- [x] **双版本架构** - 实现控制台版本和GUI版本并行支持
|
||||
- [x] **安装包制作** - 提供Inno Setup和NSIS两种专业安装包方案
|
||||
- [x] **鼠标交互支持** - 实现直观的点击落子和界面操作
|
||||
- [x] **窗口管理优化** - 完善的窗口显示、居中和事件处理机制
|
||||
- [x] **模块化架构设计** - 完成代码重构,实现清晰的模块分离
|
||||
- [x] **全局变量统一管理** - 所有全局变量集中在globals模块中管理
|
||||
- [x] **宏定义优化** - 消除重复定义,统一管理所有宏定义
|
||||
@@ -279,9 +333,11 @@ chcp 65001
|
||||
### 🚀 开发路线图
|
||||
|
||||
#### 📱 用户体验提升
|
||||
- [ ] **图形用户界面 (GUI)**:使用 `SDL2` 或 `Qt` 开发现代化图形界面
|
||||
- [x] **图形用户界面 (GUI)**:使用 `SDL3` 开发现代化图形界面
|
||||
- [ ] **主题系统**:支持多种UI主题和棋盘样式
|
||||
- [ ] **音效系统**:添加落子音效和背景音乐
|
||||
- [ ] **动画效果**:添加落子动画和界面过渡效果
|
||||
- [ ] **多语言支持**:支持中英文界面切换
|
||||
|
||||
#### 🌐 网络功能
|
||||
- [ ] **在线对战模式**:实现网络多人对战功能
|
||||
|
||||
Reference in New Issue
Block a user