Commit Graph

11 Commits

Author SHA1 Message Date
flykhan 1be2a5ebe0 docs: 重写 README 详细文档,移除开发人员界面
**README 重写(+231 行)**
  - 参照 UnoGame 风格,包含完整项目说明
  - 功能特性、三平台构建命令(Linux/macOS/Windows)
  - 操作指南表格、玩法说明
  - 完整目录树、核心模块职责详述
  - 场景跳转流程图、计时机制表
  - 版本日志 v16 → v19

**功能移除**
  - 删除 MEMBER 场景(开发人员页面)
  - 移除菜单中"相关人员"按钮,退出按钮上移填补空位
  - 删除 images/开发人员界面.jpg
  - 清理 Game.h / Game.cpp / UI.h 中相关代码
2026-05-03 12:07:02 +08:00
flykhan 3b6f6d39d2 refactor: 项目全面重构 — 从单文件过程式重写为模块化 OOP
**问题背景**
原项目全部逻辑集中在 main.cpp(1468 行),大量全局变量、4 方向逻辑
复制粘贴 4 遍、场景通过递归函数调用跳转(栈溢出隐患),难以维护扩展。

**重构内容**

文件架构(新增 src/ 目录):
  - src/Game.h/.cpp       — 状态机驱动主循环,Scene 枚举消除递归跳转
  - src/AssetManager.h/.cpp — 纹理/字体/BGM 加载与缓存管理
  - src/Renderer.h/.cpp   — SDL 渲染封装(清屏/纹理/文字/提交)
  - src/Map.h/.cpp        — 地图数据 + 统一碰撞检测
  - src/Tank.h/.cpp       — 坦克类,dx()/dy() 方向向量消除 4x 复制粘贴
  - src/Bullet.h/.cpp     — 子弹类,peekAt()/step() 封装移动逻辑
  - src/UI.h              — 按钮区域常量 + 命中检测

核心改进:
  - 全局变量清零 → 全部归入 Game 类实例管理
  - 场景递归跳转 → Scene 枚举状态机,主循环驱动
  - 4 方向复制粘贴 → 方向向量 {dx,dy} 表统一处理
  - 修复 EnemiesMove 中循环变量 i 遮蔽 bug
  - clock() → SDL_GetTicks(),跨平台时间精度
  - 清理死代码 map1[50]、旧注释、未使用常量
  - data_config.h 精简为纯常量

文件变更:
  - 新增 7 个源文件(src/下)
  - 重写 main.cpp(1468 → 6 行入口)
  - 重写 data_config.h、CMakeLists.txt
  - 删除 tank.h、bullet.h、map.h、map.cpp(被新架构替代)
  - 更新 .gitignore(build_Debug/、.hermes/ 等)
2026-05-03 11:53:29 +08:00
flykhan 3294a66787 docs: 更新版本日志 v18 - SDL2 Linux 移植 2026-05-03 11:33:26 +08:00
flykhan 897abcf068 fix: SDL2 Linux port - fix black screen by setting CWD to binary path 2026-05-03 11:29:39 +08:00
flykhan 9b9cb9e86c chore: 将项目从 .sln/.vcxproj 转换为 CMake 构建系统 2026-05-03 10:58:06 +08:00
flykhan 5773c90440 Merge pull request '在vs2022中进行 git 测试' (#1) from liubo_dev into main
Reviewed-on: Dynamic_Array/tank_battles_on_the_scrap_paper#1
version1
2023-06-05 21:23:05 +08:00
flykhan 7432829965 修改日志文件格式 2023-06-02 04:28:20 +08:00
flykhan 0204a03f84 添加日志 2023-06-02 04:26:55 +08:00
flykhan a066df2902 在vs2022中进行 git 测试 2023-05-26 23:30:34 +08:00
flykhan 226225b07c v16: 添加了全局背景音效 2023-05-26 22:31:37 +08:00
flykhan 14f12517db Initial commit 2023-05-22 22:22:09 +08:00