v8.0版本更新:添加SDL3图形化界面功能和完善文档

This commit is contained in:
2025-09-18 19:08:37 +08:00
parent 1d8e2e25cf
commit 0e53b09d9b
16 changed files with 827 additions and 100 deletions
+38 -11
View File
@@ -2,9 +2,9 @@
========================================
项目名称:五子棋多模式对战系统
统计时间:2025年7月20
项目版本:v7.0
开发语言:C语言
统计时间:2025年9月18
项目版本:v8.0
开发语言:C语言 + SDL3图形库
GitHub仓库:https://github.com/LHY0125/Gobang-Game.git
========================================
@@ -21,7 +21,8 @@ GitHub仓库:https://github.com/LHY0125/Gobang-Game.git
├── ui.c 204行
├── config.c 331行
├── network.c 426行
── globals.c 37行
── globals.c 37行
└── gui.c 450行 (v8.0新增)
【头文件 (.h)】
├── gobang.h 101行
@@ -33,21 +34,28 @@ GitHub仓库:https://github.com/LHY0125/Gobang-Game.git
├── config.h 170行
├── network.h 186行
├── globals.h 41行
── type.h 93行
── type.h 93行
└── gui.h 85行 (v8.0新增)
========================================
📈 总计统计
========================================
总代码行数:4,398行
总代码行数:4,933行 (v8.0新增535行)
文件类型分布:
• C源文件:3,527行 (80.2%)
• 头文件:871行 (19.8%)
• C源文件:3,977行 (80.6%)
• 头文件:956行 (19.4%)
v8.0版本新增:
• GUI图形界面模块:535行 (10.8%)
• 安装包配置文件:2个
• 编译脚本文件:1个
模块代码分布:
• 游戏模式模块:917行 (20.9%)
• AI智能模块:589行 (13.4%)
• 游戏模式模块:917行 (18.6%)
• AI智能模块:589行 (11.9%)
• GUI图形界面模块:535行 (10.8%) (v8.0新增)
• 记录系统模块:531行 (12.1%)
• 网络对战模块:426行 (9.7%)
• 配置管理模块:331行 (7.5%)
@@ -100,6 +108,10 @@ GitHub仓库:https://github.com/LHY0125/Gobang-Game.git
✓ 跨平台支持:Windows和Linux双平台兼容
【技术亮点】
• SDL3图形化界面实现(v8.0新增)
• 双版本架构设计(控制台+GUI)(v8.0新增)
• 鼠标交互和事件驱动架构(v8.0新增)
• 专业安装包制作支持(v8.0新增)
• 完整的网络对战功能实现
• 智能AI算法与评估系统
• 灵活的配置管理系统
@@ -120,12 +132,18 @@ GitHub仓库:https://github.com/LHY0125/Gobang-Game.git
包括人机对战、双人对战和网络对战,功能丰富,架构清晰,
是C语言项目开发的优秀范例。
v8.0版本的图形化界面是项目发展的重大突破,
通过SDL3图形库实现了现代化的可视化界面,
支持鼠标交互操作,大幅提升了用户体验。
双版本架构设计既保持了控制台版本的轻量特性,
又提供了GUI版本的现代化体验,满足不同用户需求。
网络对战功能的加入使得项目具备了现代化游戏的特征,
支持实时在线对战,为用户提供了更丰富的游戏体验。
v7.0版本的代码架构重构是项目发展的重要里程碑,
通过配置统一管理、全局变量规范化、类型定义标准化等措施,
大幅提升了代码的可维护性和扩展性,为后续功能开发
大幅提升了代码的可维护性和扩展性,为v8.0的GUI功能
奠定了坚实的架构基础。
========================================
@@ -136,6 +154,7 @@ v7.0版本的代码架构重构是项目发展的重要里程碑,
• main.c/gobang.c - 主程序和核心游戏逻辑
• game_mode.c/h - 游戏模式管理(人机/双人/网络)
• ai.c/h - AI智能算法实现
• gui.c/h - SDL3图形化界面模块(v8.0新增)
• network.c/h - 网络对战功能
• record.c/h - 游戏记录与复盘
• ui.c/h - 用户界面管理
@@ -146,9 +165,17 @@ v7.0版本的代码架构重构是项目发展的重要里程碑,
配置文件:
• gobang_config.ini - 游戏配置文件
• compile_gui.bat - GUI版本编译脚本(v8.0新增)
安装包目录:
• installer/ - 安装包制作目录(v8.0新增)
• setup.iss - Inno Setup安装脚本
• installer.nsi - NSIS安装脚本
文档目录:
• MD/ - 项目文档目录
• README_GUI.md - GUI版本使用指南(v8.0新增)
• TXT/ - 文本文档目录
• records/ - 游戏记录存储目录
开发环境:
+13 -4
View File
@@ -1,12 +1,21 @@
/**
* @file 五子棋对战系统
* @brief C语言五子棋多模式对战系统
* @details 支持人机对战、双人对战、网络对战的完整五子棋游戏系统
* @details 支持人机对战、双人对战、网络对战的完整五子棋游戏系统v8.0新增SDL3图形化界面
* @author 刘航宇(3364451258@qq.com、15236416560@163.com、lhy3364451258@outlook.com)
* @date 2025-07-20
* @version 7.0
* @date 2025-09-18
* @version 8.0
* @note
* 1. v7.0架构重构
* 1. v8.0图形化界面
* - 🎨 SDL3图形化界面:实现现代化可视化棋盘界面
* - 🖱️ 鼠标交互支持:直观的点击落子操作
* - 🏗️ 双版本架构:控制台版本和GUI版本并行支持
* - 🪟 窗口管理优化:自动居中、响应式设计
* - ⚡ 事件驱动架构:流畅的用户交互体验
* - 📦 安装包支持:提供Inno Setup专业安装程序
* - 🔧 编译脚本优化:简化GUI版本编译流程
* - 🌐 GUI网络支持:图形化界面支持网络对战
* 2. v7.0架构重构:
* - 🏗️ 代码架构全面重构,实现模块化设计
* - 📋 配置参数统一管理,所有配置集中到config.h
* - 🔧 全局变量规范化,统一在globals模块管理
+13 -5
View File
@@ -1,9 +1,10 @@
项目要求文档 - 五子棋游戏
项目要求文档 - 五子棋游戏 (v8.0)
1. 项目概述
- 开发一个基于C语言的五子棋游戏,支持本地多人、AI对战和网络对战模式。
- 游戏应运行在Windows环境下,支持命令行界面。
- 包括游戏配置、记录保存复盘功能。
- v8.0版本实现双版本架构:支持命令行界面和SDL3图形化界面。
- 包括游戏配置、记录保存复盘功能和专业安装包
- 提供现代化的可视化用户体验和传统控制台体验。
2. 功能需求
- **游戏模式**
@@ -28,7 +29,11 @@
- 支持复盘功能,查看历史对局
- 记录包含时间戳、玩家信息、棋局步骤等
- **用户界面**
- 命令行界面显示棋盘
- **控制台界面**:传统命令行界面显示棋盘
- **图形化界面**(v8.0新增):基于SDL3的现代化GUI界面
- **鼠标交互**:支持点击落子操作
- **窗口管理**:自动居中、响应式设计
- **事件驱动**:流畅的用户交互体验
- 支持坐标输入落子(数字格式:行 列)
- 显示当前玩家、计时、游戏状态等信息
- 菜单系统和配置界面
@@ -41,7 +46,10 @@
3. 技术要求
- 使用C语言开发
- Windows平台,包含Winsock网络库(-lws2_32链接)
- 模块化设计:分离游戏逻辑、AI、配置、网络、UI等模块
- **SDL3图形库**v8.0新增):用于GUI界面开发
- **双版本架构**:控制台版本和GUI版本并行支持
- 模块化设计:分离游戏逻辑、AI、配置、网络、UI、GUI等模块
- **安装包制作**:支持Inno Setup专业安装程序
- 错误处理和统一的输入验证
- 支持跨平台编译(Windows/Linux