2019春第三次课程设计实验报告
一、实验项目名称:
EasyX反弹球消砖块
二、实验项目功能描述(用自己的语言描述):
综合游戏开发框架和EasyX绘图技术,实现反弹球消砖块,即屏幕下方有一个长方形跳板,有颜色,中间有一个有颜色的小球,实物,上下弹跳,最上方有一排小方块;小球自动上下跳动,通过A、D移动跳板,反弹小球,小球击中方块,方块消失。相比之前的,这次是真正的小球、跳板、方块,而不是用字符类比的。
三、项目模块介绍:
第一部分:游戏框架代码的重构,利用EasyX构成实物小球;
第二部分:绘制静态挡板,利用EasyX绘制挡板;
第三部分:控制挡板接球,通过A、D键控制;
第四部分:消砖块,小球击中方块,方块消失;
模型:
四、实现界面展示:
五、代码托管链接:
Git网页代码
六、实验总结:
问题1:
第一次用visual studio 时,最简单的画一个实心圆都不会运行;
解决方法:
研究了一下书后,发现第四章的代码需要下载一个EasyX什么的才可以运行,下载后可以运行画一个实心圆代码。
如图:
问题2:
当我想再次试验一下多球反弹时,又执行不了了,而且,连画一个实心圆也执行不了了。
如图:
解决方法:
我想了一下,既然之前画一个实心圆已经实现了,为什么现在再创建一个源文件就不行了?我将Text文件夹中的画一个实心圆删掉,只留下一个多球反弹,再次执行后运行成功。
如图(原型是动态的,我只截了个图):
问题3:
当我做本次真正的研究项目时,即EasyX反弹球消砖块时,当时也是出现运行问题,
如图:
解决方法:
先是复制问题百度,百度无果,我看了一下问题,大致知道问题出在‘kbhit’和‘getch’处,看到getch后,我想到教学视频中提到_getch(),然后我将二者前都加了‘_’,并在getch后加‘()’,再次尝试,运行成功。
感想:
本次作业主要由于涉及到了两个新东西:EasyX绘图库和另一种开发工具 Visual studio,导致一开始无从下手,开始时只想着下载VS,没注意到EasyX库的使用。最后游戏做成后,看着运行结果,发现确实比之前用字符类比图形来的更直观一些,更接近游戏本质了。代码方面,这次研究的游戏之前我就搞过,所以感觉大体都没怎么变,但还是变了一些,借助课本和随书资源,运行出来。可能刚开始使用VS,不习惯,总感觉还不如Dev C++来的方便,但VS的确功能强大,多使用使用应该会习惯的。