一、 游戏
-
方块能自动下降,随机产生各种方块,并提前在小窗口预告给玩家
-
通过键盘控制方块的移动和旋转并摆放在合适的位置
-
当底部有被方块填满的行后,能够及时消去对应的方块,并提供消去满行方块计分算法
-
当游戏已经无法继续进行时,则结束游戏,能够合理判断结束游戏的时机
-
支持临时暂停和恢复游戏
-
支持保存游戏进度,复制存档,删除存档
-
支持保存玩家信息,修改玩家名字,删除玩家
二、界面
-
播放背景音乐,改变背景音乐曲目和音量大小
-
显示背景图片,改变背景图片选项
-
显示游戏规则简介界面
三、 参数
-
支持设置游戏参数,如可以选择方块样式、方块下落速度、棋盘大小、按键设置等
-
用合理的方式计算分数、出具游戏排行榜
四、 文件
-
利用文件方式,支持保存玩家信息
-
利用文件方式,支持保存游戏进度,并从每个存档中恢复游戏
-
利用文件方式,支持保存游戏设置,可以重置设置
一、代码的内聚性
- 游戏窗口类实现的功能太多太过于繁杂,不够独立
二、玩家自定义程度不高
-
背景图片和背景音乐只提供几种预设,不能由玩家选择文件
-
方块的颜色只提供几种预设,不能由调色板完全自定义颜色
三、Qt 中一些函数的限制(keyPressEvent)
- 键位只能设置单字符按键,不能设置 “↑” “↓” “←” “→” “Enter” 等特殊案件
四、排行榜的合理性
- 排序的依据只是分数,没有根据棋盘大小划分难度系数
五、界面的友好性
- 游戏窗口是固定大小,不支持缩放