Migrate project from typing_practiceweb

This commit is contained in:
2026-05-14 16:04:14 +08:00
parent dbc5425706
commit 0e87d5546d
225 changed files with 92811 additions and 0 deletions

182
MINESWEEPER_QUICKSTART.md Normal file
View File

@@ -0,0 +1,182 @@
# 扫雷游戏快速启动指南
## 🎮 立即开始
扫雷游戏已成功集成到项目中!按照以下步骤即可开始使用:
## 📋 前置要求
确保项目环境已正确配置:
1. **MongoDB**: 确保MongoDB服务正在运行
2. **环境变量**: 确保`.env`文件包含必要的配置
3. **依赖安装**: 运行`npm install`安装所有依赖
## 🚀 启动应用
```bash
# 启动开发服务器
npm run start
```
服务器将在以下端口启动:
- 前端: http://localhost:3001
- 后端API: http://localhost:5001
## 🎯 访问游戏
### 方式1: 通过导航菜单
1. 打开浏览器访问 http://localhost:3001
2. 在顶部导航栏找到"扫雷游戏"菜单
3. 点击"开始游戏"进入游戏界面
### 方式2: 直接访问
- 游戏页面: http://localhost:3001/minesweeper
- 排行榜页面: http://localhost:3001/minesweeper/leaderboard
## 🎲 游戏操作
### 基本操作
- **左键点击**: 揭开格子
- **右键点击**: 插旗/取消插旗
- **选择难度**: 使用顶部下拉菜单切换难度
- **重新开始**: 点击"重新开始"按钮
### 难度选择
| 难度 | 大小 | 地雷数 | 说明 |
|------|------|--------|------|
| 初级 | 9×9 | 10 | 适合新手 |
| 中级 | 16×16 | 40 | 适合有经验玩家 |
| 高级 | 16×30 | 99 | 适合专家 |
## 📊 查看排行榜
1. 点击导航栏"扫雷游戏" → "排行榜"
2. 选择想查看的难度级别
3. 查看各难度的最佳成绩
### 排行榜说明
- 只显示获胜记录
- 按完成时间从短到长排序
- 前三名有特殊标记 🥇🥈🥉
- 支持分页浏览
## 👤 登录与记录保存
### 游客模式
- 可以玩游戏
- 不会保存记录
- 看不到个人最佳成绩
### 登录模式
- 游戏记录自动保存
- 显示个人最佳成绩
- 计入排行榜
### 登录方法
1. 点击导航栏"登录"
2. 输入用户名和密码
3. 登录成功后即可保存记录
## 🏆 个人最佳成绩
登录后,在游戏界面会显示您的个人最佳成绩:
- 显示在控制面板中
- 打破记录时会有提示 🎉
## 🔧 故障排查
### 问题1: 游戏无法访问
**解决方案**:
- 确保服务器正在运行
- 检查控制台是否有错误信息
- 清除浏览器缓存重试
### 问题2: 记录无法保存
**解决方案**:
- 确保已登录
- 检查MongoDB是否正在运行
- 查看浏览器控制台网络请求
### 问题3: 排行榜为空
**解决方案**:
- 这是正常现象,需要有用户完成游戏后才会有数据
- 登录后玩一局并获胜,即可看到记录
### 问题4: 右键菜单无法使用
**说明**:
- 游戏区域的右键被用于插旗功能
- 在游戏区域外可以正常使用浏览器右键菜单
## 📱 浏览器兼容性
推荐使用以下浏览器:
- ✅ Chrome (推荐)
- ✅ Firefox
- ✅ Safari
- ✅ Edge
## 🎨 界面说明
### 控制面板
- **难度选择**: 下拉菜单,可随时切换难度
- **旗帜计数**: 显示剩余可用旗帜数
- **计时器**: 显示游戏进行时间
- **重新开始**: 重置当前难度的游戏
- **个人最佳**: 显示当前难度的最佳成绩(需登录)
### 游戏区域
- **未揭开格子**: 灰色方块
- **已插旗格子**: 显示🚩标记
- **已揭开格子**: 浅灰色,显示周围地雷数
- **地雷**: 游戏结束后显示💣
### 结果对话框
- 游戏结束时自动弹出
- 显示难度、用时等信息
- 提供"关闭"和"再来一局"选项
## 📈 数据统计
登录用户可以查看:
- 各难度最佳时间
- 总游戏次数
- 获胜次数
- 胜率
## 🎯 游戏技巧
1. **首次点击**: 选择靠近中间的位置,有更大概率展开大片区域
2. **标记地雷**: 确定是地雷的位置及时插旗,避免误点
3. **数字推理**: 利用数字推断周围地雷位置
4. **角落优先**: 角落和边缘的格子相对安全
5. **概率思维**: 在不确定时选择概率较低的位置
## 🔗 相关链接
- 详细功能说明: [MINESWEEPER_README.md](./MINESWEEPER_README.md)
- 项目主文档: [README.md](./README.md)
## ❓ 常见问题
**Q: 为什么首次点击不会触发地雷?**
A: 这是保护机制,确保游戏有良好的开局,避免首次点击即失败。
**Q: 可以自定义难度吗?**
A: 当前版本不支持自定义,因为需要统一标准才能进行排名。
**Q: 排行榜多久更新一次?**
A: 实时更新,每次游戏结束后立即保存并更新排行榜。
**Q: 可以查看历史记录吗?**
A: 当前版本只显示最佳成绩,未来可能会添加详细历史记录功能。
## 💡 下一步
尝试以下操作:
1. 完成一局初级游戏
2. 挑战中级难度
3. 查看排行榜,与其他玩家比较
4. 尝试打破自己的最佳记录
祝您游戏愉快! 🎮