创建新工程

This commit is contained in:
moyin
2025-12-05 19:00:14 +08:00
commit ff4fa5fffd
227 changed files with 32804 additions and 0 deletions

201
HOW_TO_TEST.md Normal file
View File

@@ -0,0 +1,201 @@
# 测试指南
## 🚀 快速测试
### 方法 1: 游戏功能测试(推荐)
**最快的测试方法**
1. 在 Godot 编辑器中打开 `scenes/TestGameplay.tscn`
2.**F6** 运行场景
3. 使用 **WASD** 或方向键移动角色
**预期结果**
- ✅ 看到 Datawhale 办公室场景
- ✅ 角色可以自由移动
- ✅ 相机跟随角色
- ✅ 角色被墙壁和家具阻挡
- ✅ 游戏流畅运行30+ FPS
### 方法 2: 单元测试套件
**全面的系统测试**
1. 在 Godot 编辑器中打开 `tests/RunAllTests.tscn`
2.**F6** 运行
3. 查看控制台输出
**预期结果**
- 所有测试显示 ✅ PASSED
- 测试覆盖:角色数据、控制器、状态管理、输入处理、消息协议
## 🎮 游戏控制测试
### 基础移动
- **W** - 向上移动
- **S** - 向下移动
- **A** - 向左移动
- **D** - 向右移动
- **E** - 交互(控制台显示消息)
- **ESC** - 退出
### 相机控制(调试模式)
- **WASD** - 移动相机查看整个场景
- **Q** - 缩小视图
- **E** - 放大视图
- **鼠标滚轮** - 缩放
- **R** - 重置相机位置
## 🏢 场景功能测试
### Datawhale 办公室场景
**测试步骤**
1. 打开 `scenes/DatawhaleOffice.tscn`
2. 按 F6 运行
3. 使用相机控制查看所有区域
**应该看到**
- 灰色地板和深灰色墙壁
- 棕色家具(办公桌、会议桌、沙发)
- **Datawhale 品牌元素**
- 欢迎标识(顶部入口)
- 主 Logo 展示(右侧展示区)
- 成就墙(右下方)
- 地板水印(场景中央)
### 场景导览路线
1. **起点** - 欢迎标识区域
2.**D** 向右 → 主展示区大 Logo
3.**S** 向下 → 成就墙 Logo
4.**Q** 缩小 → 地板水印
5.**R** 重置 → 回到起点
## 🧪 单元测试详情
### 测试覆盖范围
**✅ 消息协议测试**
- 属性测试数据序列化往返100次迭代
- 单元测试:消息创建和验证
**✅ 游戏状态管理测试**
- 状态转换LOGIN → CHARACTER_CREATION → IN_GAME
- 数据持久化(保存/加载)
- JSON 序列化
**✅ 角色系统测试**
- 属性测试:角色 ID 唯一性100次迭代
- 角色创建、移动、碰撞检测
- 位置插值和动画
**✅ 输入系统测试**
- 属性测试设备类型检测100次迭代
- 键盘输入响应
- 虚拟摇杆(移动端)
### 属性测试
项目包含基于属性的测试Property-Based Testing
**运行属性测试**
1. 打开 `tests/RunPropertyTests.tscn`
2. 按 F6 运行
3. 查看详细的测试报告
**测试内容**
- 键盘输入响应100+ 次迭代)
- 服务器更新同步50 次迭代)
- 在线/离线角色显示(各 50 次迭代)
## 🔧 故障排除
### 常见问题
**Q: 角色不显示?**
A:
- 检查控制台错误
- 确保游戏窗口是激活状态
- 尝试重新运行场景
**Q: 角色不移动?**
A:
- 点击游戏窗口确保焦点
- 检查键盘输入是否正常
- 查看控制台错误信息
**Q: 相机不跟随?**
A:
- 等待几秒让相机初始化
- 移动角色后相机应该开始跟随
**Q: 测试失败?**
A:
- 查看控制台详细错误信息
- 确保所有文件已保存
- 检查 Godot 版本是否为 4.5.1+
### 测试检查清单
**场景测试**
- [ ] Datawhale 办公室场景正确加载
- [ ] 场景尺寸为 2000x1500
- [ ] 墙壁和家具正确显示
- [ ] 品牌元素正确显示4个 Logo 位置)
- [ ] 相机限制正确设置
**功能测试**
- [ ] 角色移动响应WASD
- [ ] 碰撞检测正常
- [ ] 相机跟随角色
- [ ] 交互功能正常E 键)
**单元测试**
- [ ] 所有角色数据测试通过
- [ ] 所有控制器测试通过
- [ ] 所有状态管理测试通过
- [ ] 所有输入处理测试通过
- [ ] 所有消息协议测试通过
## 🎯 测试目标
### 主要目标
1. **核心功能** - 角色移动和相机跟随
2. **碰撞检测** - 角色不能穿墙
3. **场景渲染** - 所有元素正确显示
### 次要目标
4. **品牌展示** - Datawhale Logo 正确显示
5. **性能** - 游戏流畅运行
6. **系统稳定性** - 无错误和崩溃
## 📊 预期性能
- **帧率**: 30+ FPS
- **内存使用**: < 100MB
- **启动时间**: < 5 秒
- **响应延迟**: < 50ms
## 🚀 测试完成后
测试成功后,你可以:
1. **继续开发** - 实现更多游戏功能
2. **启动服务器** - 测试多人功能
3. **Web 导出** - 部署到网页版
## 📝 反馈
如果发现任何问题或有改进建议,请记录下来:
- 具体的错误信息
- 重现步骤
- 预期行为 vs 实际行为
- 系统环境信息
---
**准备好了吗?**
打开 `scenes/TestGameplay.tscn`,按 F6开始测试🎮