Migrate project from typing_practiceweb
This commit is contained in:
182
MINESWEEPER_QUICKSTART.md
Normal file
182
MINESWEEPER_QUICKSTART.md
Normal 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. 尝试打破自己的最佳记录
|
||||
|
||||
祝您游戏愉快! 🎮
|
||||
Reference in New Issue
Block a user