2048游戏
设计目标
基本目标:
1. 布设游戏的场景;
2. 管理游戏的玩家,包括记录并显示玩家的用户名、实时排名以及得分,游戏过程中的记录信息包括玩家操作等;
3. 按规则执行游戏过程,判定游戏胜利;
4. 记录游戏过程包括玩家操作以及每一步操作的结果,并可以通过图形界面演示重现;
5. 游戏规则:每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块;矩阵的四周有四个按钮,分别表示向左、向右、向上、向下移动。当某一方向无法移动时,该按钮应该被隐藏(变灰)。
拓展目标:
1. 限定游戏时间:在游戏界面添加倒计时,并设计倒计时程序。当计时到时游戏结束并重置界面;
2. 添加背景音乐;
3. 增加滚动字幕,字幕内容为为一些名人名言,提升游戏过程中的趣味性;
4. 在演示玩家操作时,用户可选择演示播放速度,以满足用户的不同需求;
5. 实现数据可迁移,方便用户在不同PC设备上使用;
6. 添加用户登录界面,方便对玩家的管理;
7. 在游戏界面添加时间日期显示,显示当前的日期和时间;
8. 添加键盘控制功能,玩家可以通过键盘控制界面上下左右操作。
相关知识情况
所预见的技术
1. 对话框/SDI程序架构的生成;
2. 绘制不同颜色和线形的曲线;
3. 配置界面字体大小、颜色、类型;
4. 对话框添加控件资源并配置其大小、颜色、背景、字体等等;
5. 定时器配置(消息映射);
6. 各种控件的操作函数;
7. 文件读写操作;
8. MFC标准类的基本使用方法;
9. 排序及查找算法。
所掌握的技术
1. 对话框添加控件资源并配置其大小、颜色、背景、字体等等;
2. 文件读写操作;
3. 排序及查找算法
需要后续获取的技术
1. 对话框/SDI程序架构的生成;
2. 绘制不同颜色和线形的曲线;
3. 配置界面字体大小、颜色、类型;
4. 定时器配置(消息映射);
5. 各种控件的操作函数;
6. MFC标准类的基本使用方法。
进度计划
第1天 需求分析
第2天 总体方案设计
第3-5天 关键组件、模块的使用与设计
第6-8天 模块连接与调试
第9-10天 答辩汇报,整理报告
参考文献
[1] 侯俊杰. 深入浅出MFC[M]. 武汉:华中科技大学出版社, 2001.
[2] 郑阿奇,丁有和. Visual C++教程[M]. 北京:清华大学出版社, 2016.
[3] 陈国建. Visual C++宝典[M].北京:电子工业出版社, 2011.
[4] 张力. Visual C++ 高级编程[M].北京:人民邮电出版社, 2002.
[5] 王洪涛. 深入剖析Visual C++编程技术及应用实例[M].北京:人民邮电出版社, 2003.
[6] Jeff Prosise. MFC Windows程序设计(第2版)[M].北京:清华大学出版社,2000.
[7] Stephen Prata. C++ Primer Plus 第6版[M].北京:人民邮电出版社.2020.
[8] 谭浩强. C++面向对象程序设计(第2版)[M].北京:清华大学出版社.2014.
[9] )萨尼. 数据结构、算法与应用 C++语言描述(原书第2版)[M].北京:机械工业出版社.2015.
[10] Mark Allen Weiss .数据结构与算法分析——C++语言描述(第四版)[M].北京:电子工业出版社.2016.
[11] Jay Wengrow .数据结构与算法图解[M].北京:人民邮电出版社.2019.