2019春第三次课程设计实验报告

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的确功能强大,多使用使用应该会习惯的。
posted @ 2019-06-07 10:20  编号9527·  阅读(266)  评论(0编辑  收藏  举报