mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
docs: 更新项目文档至v8.3并调整.gitignore
- 更新项目要求文档至v8.3版本,说明引入IUP图形库和构建系统优化 - 更新项目简介,详细说明v8.3的图形界面重构和目录结构调整 - 更新GUI说明文档,从SDL3迁移至IUP,并更新编译和运行指南 - 在.gitignore中添加obj目录,避免编译生成的对象文件被提交
This commit is contained in:
+27
-22
@@ -1,12 +1,18 @@
|
||||
/**
|
||||
* @file 五子棋对战系统
|
||||
* @brief C语言五子棋多模式对战系统
|
||||
* @details 支持人机对战、双人对战、网络对战的完整五子棋游戏系统,v8.0新增SDL3图形化界面
|
||||
* @details 支持人机对战、双人对战、网络对战的完整五子棋游戏系统,v8.3新增IUP图形化界面
|
||||
* @author 刘航宇(3364451258@qq.com、15236416560@163.com、lhy3364451258@outlook.com)
|
||||
* @date 2025-10-8
|
||||
* @version 8.2
|
||||
* @date 2026-03-16
|
||||
* @version 8.3
|
||||
* @note
|
||||
* 1. v8.2专业安装包:
|
||||
* 1. v8.3 图形界面重构:
|
||||
* - 🎨 IUP图形化界面:迁移至轻量级IUP库,无需复杂配置即可运行
|
||||
* - 🏗️ 构建系统优化:引入Makefile,实现标准化编译流程
|
||||
* - 📂 目录结构重构:分离src、obj、bin目录,项目结构更清晰
|
||||
* - 🌐 本地化资源:集成第三方库到libs目录,实现开箱即用
|
||||
*
|
||||
* 2. v8.2专业安装包:
|
||||
* - 📦 双重打包方案:支持Inno Setup和NSIS两种安装包制作
|
||||
* - 🚀 一键安装部署:完整的软件分发解决方案
|
||||
* - 🔧 安装程序优化:自动创建快捷方式和注册表项
|
||||
@@ -14,15 +20,14 @@
|
||||
* - 🔄 完整卸载功能:支持干净的软件卸载和清理
|
||||
* - 💼 产品化部署:从开发工具向商业软件的转变
|
||||
*
|
||||
* 2. v8.0图形化界面:
|
||||
* - 🎨 SDL3图形化界面:实现现代化可视化棋盘界面
|
||||
* 3. v8.0图形化界面:
|
||||
* - 🎨 SDL3图形化界面:实现现代化可视化棋盘界面(已废弃,迁移至IUP)
|
||||
* - 🖱️ 鼠标交互支持:直观的点击落子操作
|
||||
* - 🏗️ 双版本架构:控制台版本和GUI版本并行支持
|
||||
* - 🪟 窗口管理优化:自动居中、响应式设计
|
||||
* - ⚡ 事件驱动架构:流畅的用户交互体验
|
||||
* - 🔧 编译脚本优化:简化GUI版本编译流程
|
||||
* - 🌐 GUI网络支持:图形化界面支持网络对战
|
||||
* 2. v7.0架构重构:
|
||||
* 4. v7.0架构重构:
|
||||
* - 🏗️ 代码架构全面重构,实现模块化设计
|
||||
* - 📋 配置参数统一管理,所有配置集中到config.h
|
||||
* - 🔧 全局变量规范化,统一在globals模块管理
|
||||
@@ -30,7 +35,7 @@
|
||||
* - 🌐 网络配置重构,从network.h迁移到config.h
|
||||
* - 🔄 消除重复定义,提高代码一致性
|
||||
* - 📚 完善文档体系,新增架构重构指南
|
||||
* 2. v6.1完善功能:
|
||||
* 5. v6.1完善功能:
|
||||
* - 🌐 完善的网络对战模式,支持服务器/客户端架构
|
||||
* - 🔗 实时数据同步,支持落子、悔棋、认输等网络功能
|
||||
* - 🛡️ 网络安全验证和连接状态管理
|
||||
@@ -38,66 +43,66 @@
|
||||
* - 🔧 全局变量统一管理,优化代码结构
|
||||
* - 📋 宏定义统一管理,消除重复定义
|
||||
* - 🔄 网络协议优化,改进通信稳定性
|
||||
* 2. 核心游戏功能:
|
||||
* 6. 核心游戏功能:
|
||||
* - 增加了对禁手规则的支持,防止玩家进行无意义的走法。
|
||||
* - 新增了游戏计时器功能,限制每回合的思考时间。
|
||||
* - 添加了复盘功能,支持保存和回顾对局记录。
|
||||
* - 实现了评分系统,可以对每一步棋进行评分和分析。
|
||||
* 3. 性能优化:
|
||||
* 7. 性能优化:
|
||||
* - 🚀 优化了AI算法,使用Alpha-Beta剪枝提高搜索效率
|
||||
* - 🎨 改进了棋盘渲染算法,减少了不必要的重绘操作
|
||||
* - 💾 增加了内存管理优化,避免内存泄漏问题
|
||||
* - ⚡ 网络通信优化,支持异步消息处理
|
||||
* - 🔍 智能评分算法优化,提升AI决策质量
|
||||
* 4. 用户界面改进:
|
||||
* 8. 用户界面改进:
|
||||
* - 🎮 美化了游戏界面,增加了更多的视觉效果
|
||||
* - ⌨️ 改进了用户交互体验,增加了快捷键支持
|
||||
* - 🔊 添加了音效和背景音乐,提升游戏沉浸感
|
||||
* - 💬 网络对战聊天界面,支持实时交流
|
||||
* - 📊 游戏状态显示优化,清晰展示连接状态
|
||||
* 5. 代码结构优化:
|
||||
* 9. 代码结构优化:
|
||||
* - 🏗️ 重构了代码架构,提高了代码的可读性和可维护性
|
||||
* - 📝 增加了详细的注释和文档,便于理解和修改
|
||||
* - 🧩 采用了模块化设计,各功能模块相对独立
|
||||
* - 🌍 新增网络模块,完整的网络通信架构
|
||||
* - 🔧 全局状态统一管理,消除代码重复
|
||||
* - 📋 配置文件标准化,支持灵活配置
|
||||
* 6. 异常处理:
|
||||
* 10. 异常处理:
|
||||
* - 🛡️ 增加了输入错误的异常处理机制,确保游戏的稳定性
|
||||
* - 💡 优化了错误提示信息,帮助用户快速定位问题
|
||||
* - 🔄 增加了程序崩溃恢复功能,提高游戏的可靠性
|
||||
* - 🌐 网络连接异常处理,自动重连和超时管理
|
||||
* - 📡 消息传输错误处理,确保数据完整性
|
||||
* 7. 文档更新:
|
||||
* 11. 文档更新:
|
||||
* - 📚 更新了README文件,提供详细的安装和使用说明
|
||||
* - 💬 增加了代码注释,提高代码的可读性
|
||||
* - 👨💻 添加了开发者文档,便于后续的功能扩展
|
||||
* - 🌐 新增网络对战使用指南和配置说明
|
||||
* - 🔧 API文档完善,支持二次开发
|
||||
* 8. 版本控制:
|
||||
* 12. 版本控制:
|
||||
* - 📦 使用Git进行版本控制,便于代码管理和协作开发
|
||||
* - 🚀 建立了清晰的版本发布流程,确保代码质量
|
||||
* - 🏷️ v7.0版本更新,代码架构全面重构
|
||||
- 🏷️ v6.1版本更新,网络功能完善优化
|
||||
* - 🏷️ v6.1版本更新,网络功能完善优化
|
||||
* - 📋 完整的变更日志,追踪功能演进
|
||||
* 9. 测试:
|
||||
* 13. 测试:
|
||||
* - ✅ 进行了全面的功能测试,确保各项功能正常运行
|
||||
* - 🧪 增加了单元测试,提高代码的可靠性
|
||||
* - ⚡ 进行了性能测试,优化了程序的运行效率
|
||||
* - 🌐 网络功能压力测试,确保多人对战稳定性
|
||||
* - 🔒 安全性测试,验证网络通信安全
|
||||
* - 🔄 协议兼容性测试,确保通信协议稳定
|
||||
* 10. 开源协议:
|
||||
* 14. 开源协议:
|
||||
* - 📄 选择了MIT开源协议,允许用户自由使用、修改和分发代码
|
||||
* - 🤝 欢迎社区贡献,共同完善项目
|
||||
* 11. 贡献者:
|
||||
* 15. 贡献者:
|
||||
* - 👨💻 感谢所有为项目做出贡献的开发者和用户
|
||||
* - 🌟 特别感谢网络功能开发、测试和优化的贡献者
|
||||
* 12. 联系信息:
|
||||
* 16. 联系信息:
|
||||
* - 📧 如有问题或建议,请联系开发者:
|
||||
* - 3364451258@qq.com
|
||||
* - 15236416560@163.com
|
||||
* - lhy3364451258@outlook.com
|
||||
* - 🐛 Bug报告和功能建议欢迎通过邮件反馈
|
||||
* - 💡 网络对战相关问题请详细描述网络环境和连接状态
|
||||
*/
|
||||
*/
|
||||
|
||||
+10
-8
@@ -1,10 +1,10 @@
|
||||
项目要求文档 - 五子棋游戏 (v8.2)
|
||||
项目要求文档 - 五子棋游戏 (v8.3)
|
||||
|
||||
1. 项目概述
|
||||
- 开发一个基于C语言的五子棋游戏,支持本地多人、AI对战和网络对战模式。
|
||||
- v8.0版本实现双版本架构:支持命令行界面和SDL3图形化界面。
|
||||
- v8.2版本(当前版本)完善了专业安装包制作体系,提供企业级的软件分发解决方案。
|
||||
- v8.2版本完善了软件分发体系,支持Inno Setup和NSIS双重安装包制作,提供专业级的软件打包和部署解决方案。
|
||||
- v8.3版本(当前版本)引入了IUP图形库,实现了轻量级、跨平台的图形界面。
|
||||
- v8.2版本完善了专业安装包制作体系,提供企业级的软件分发解决方案。
|
||||
- v8.0版本实现双版本架构:支持命令行界面和GUI图形化界面。
|
||||
- 包括游戏配置、记录保存、复盘功能和专业安装包。
|
||||
- 提供现代化的可视化用户体验和传统控制台体验。
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
- 记录包含时间戳、玩家信息、棋局步骤等
|
||||
- **用户界面**:
|
||||
- **控制台界面**:传统命令行界面显示棋盘
|
||||
- **图形化界面**(v8.0新增):基于SDL3的现代化GUI界面
|
||||
- **图形化界面**(v8.3新增IUP):基于IUP的轻量级GUI界面
|
||||
- **鼠标交互**:支持点击落子操作
|
||||
- **窗口管理**:自动居中、响应式设计
|
||||
- **事件驱动**:流畅的用户交互体验
|
||||
@@ -48,10 +48,11 @@
|
||||
3. 技术要求
|
||||
- 使用C语言开发
|
||||
- Windows平台,包含Winsock网络库(-lws2_32链接)
|
||||
- **SDL3图形库**(v8.0新增):用于GUI界面开发
|
||||
- **IUP图形库**(v8.3新增):用于GUI界面开发,替代原SDL3方案
|
||||
- **双版本架构**:控制台版本和GUI版本并行支持
|
||||
- 模块化设计:分离游戏逻辑、AI、配置、网络、UI、GUI等模块
|
||||
- **安装包制作**:支持Inno Setup专业安装程序
|
||||
- **安装包制作**:支持Inno Setup和NSIS专业安装程序
|
||||
- **构建系统**:使用Makefile管理编译流程
|
||||
- 错误处理和统一的输入验证
|
||||
- 支持跨平台编译(Windows/Linux)
|
||||
|
||||
@@ -60,10 +61,11 @@
|
||||
- 可维护性:代码模块化,注释清晰
|
||||
- 兼容性:Windows 11,支持GCC编译器
|
||||
- 可扩展性:易于添加新的AI算法和游戏模式
|
||||
- 部署便捷:依赖库本地化,开箱即用
|
||||
|
||||
5. 交付物
|
||||
- 源代码文件(.c/.h文件)
|
||||
- 配置文件(gobang_config.ini)
|
||||
- 记录文件夹(records/)
|
||||
- 文档:README.md、AI增强指南、架构重构指南、网络功能说明、图标指南等
|
||||
- 代码统计报告和项目简介
|
||||
- 代码统计报告和项目简介
|
||||
|
||||
Reference in New Issue
Block a user