mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
v8.0版本更新:添加SDL3图形化界面功能和完善文档
This commit is contained in:
+38
-11
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user