code by Satar07
(debug玩到不想玩了。。。
Win10打开控制台应用的时候会自动进入快速编辑模式 导致鼠标不能点击
需要点开应用后右键应用左上角->属性->选项->快速编辑模式取消勾选->确定后重新进入游戏
-
新游戏
- 显示
<quit>
退出该游戏- 没有游玩直接退出
- 有游玩询问是否保存后退出
<menu>
返回菜单- 没有游玩直接返回
- 有游玩询问是否保存后返回
- 剩余雷数 总雷数-标记个数
- 实时时间 (s)
- 交互
- 左键单击
- 很普通的翻开格子
1 2 3 4 5 6 7 8
- 很普通的翻开格子
- 右键
- 标记该格子
○
- 再点一次就取消标记
- 标记该格子
- 左键双击
- 如果周围的标记的格子等于该格子提示数 则翻开周围没有被标记的所有格子
- 连锁打开
- 如果点到的是空白(也就是周围都没有雷)自动翻开周围的所有格子
- 左键单击
- 游戏结果
- 您输了
- 条件:点到格子
!!
- 信息框提示
- 耗时 s
- 条件:点到格子
- 你赢了
- 条件:剩下的没有翻开的格子数等于总雷数
- 信息框提示
- 耗时
- 如果时间能进入排行榜 就要求留下姓名 并存储刷新排行榜
- 您输了
- 显示
-
排行榜
- 如果没有该文件 则考虑创建文件(如果第一次没有游玩就打开就不存储了
- 从文件中读取排行榜信息
等级 | 格子数 | 雷数 |
---|---|---|
初级 | 9*9 | 10 |
中级 | 16*16 | 40 |
高级 | 30*16 | 99 |
自定义 | [9,50]*[9,50] | 对定义的格子数适宜即可 |
-
难度选择
-
自定义输入
-
输入宽 高 雷数
加入了不成熟的输入检查
-
不加入排行榜
其实这里特意只审核了雷数 就当作者通道了(((逃
-
-
-
退出
- 神秘的退出绘画(
-
旧游戏
- 从文件中读取游戏记录 恢复所有信息(包括自定义的类型)
- main 主程序 宏观调用游戏引擎 实现菜单
- gamer 游戏引擎 处理各种游戏内的功能
- timer 计时器组件 可用于多线程
- baseheader 通用文件 不属于游戏实现的算法
-
刷新时采用整个棋盘刷新 速度慢
单独2个字符刷新会使前面的字符卡掉
可以解决 ?把前面的字符也一起刷新了
----- 但是在i7-10700上顺滑无比 (果然是性能测试软件)
解决方案 用
printf()
和putchar()
加速 确实可以加速到只有高级难度才会有细微的刷新感觉v1.1还是没有实现单独刷新
- 添加游戏内重玩功能 输了也会停留在游戏界面 //推后实现 属于逻辑链改善
- 限制排行榜输入名字的长度 限制雷数输入一些奇怪的东西
-
v1.0 2022.1.18
- 构建了游戏主体
- 左键点开格子
- 右键标记
- 左键双击快速打开
- 返回菜单
- 退出游戏
- 计时器 -多线程实现
- 菜单内容
- 新游戏
- 排行榜
- 难度选择
- 退出
- 构建了游戏主体
-
v1.1
- 游戏主题添加功能
- 显示剩余雷数 (=实际雷数-标记的格子数)
- 游戏时的菜单居中优化
- 其他功能
- 游戏状态二进制保存 防止改动和查看
- 添加自定义雷数功能 自适应窗口大小
- 游戏主题添加功能