使用Visual Studio,为了方便管理,将D:\...\项目\项目
中的代码存入src目录
中。只记录源代码。
仅用于熟悉控制台界面的编辑
需要用到MySQL,在百度随便找了一篇文章做参考进行环境配置。
原项目来源https://www.51zxw.net/Show.aspx?cid=717&id=78854
一款打字游戏,随机生成字母下落,消除字母得分,字母落地扣血。有3种难度可选。
对教程的代码进行了修改、优化,增加了一些功能:
-
每个字母容器都在尾部插入、头部删除,且要对容器进行遍历,所以将LetterShower类的成员变量m_letters从
vector容器
改为deque容器
。 -
Menu类用于管理光标位置和字体颜色;
-
Health类管理血量;
-
LetterShower类管理字母的生成、下落和计分。
-
Record类将每次游玩的得分和时间记入
.type_game_record
文件中,得分为0的结果不保存。 -
绘制界面的工作改由
main.cpp
中的全局函数来完成。 -
增加了MyDB类用于管理MySQL数据库的连接、插入、查询操作。
增加了排名界面,可显示玩家的历史得分、最高分。每一页最多显示13条记录,在数据库的支持下,实现了翻页,按分数升序/降序、按日期升序/降序排列数据的功能。
72,75,77,80并不是按键的ASCII码而是按键的扫描码,键盘上的按键按下后会有2个字节的数据,低八位存ASCII码,高八位存按键扫描码。所以使用
_getch()
函数接收方向键的值会先得到-32。