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

一、实验项目名称:
飞机游戏
二、实验项目功能描述:
用“*”表示飞机,用“@”表示敌机“a”表示左移,“d”表示右移,“w”表示上移,“s”表示下移,用a,s,d,w来控制飞机,按空格表示发射子弹,子弹击中敌机,分数加1。
三、项目模块结构介绍:
第一步:利用函数将飞机游戏进行构造,实现控制飞机移动的功能。
第二步:实现常规子弹。初始化子弹为飞机的正上方(bullet_x = position_x-1;bullet_y = position_y;),子弹发射后自动向上移动(bullet_x--;)。
第三步:增加静止的敌机@,其坐标为(enemy_x,enemy_y)其中x,y都是任意输出的,所以敌机也是无规则的出现。
第四步:让敌机自动向下移动(enemy_x++;)在updateWithoutInput()函数中利用静态变量speed,每执行10次updateWithoutInput()函数敌机才移动一次。
第五步:当子弹和敌机的位置相同时就是击中敌机。增加变量score记录游戏得分,击中敌机后score++。敌机被击中后会先消失,然后重新在随机位置出现。
第六步清屏方法,利用void gotoxy(int x,int y)函数(#include<windows.h>,在show()函数中首先调用gotoxy(0,0),光标移动到原点位置,再进行重画,即实现了类似清屏的效果。
四、实现界面展示:
2019春第一次课程设计实验报告

五、代码托管链接:
https://gitee.com/Hao94/wu_hao
六、实验总结:
提出问题:这个飞机游戏好像是没有大结局的,为什么不给这款游戏设置关卡,可以使其通关,打boss呢?
解决方法:通过我对这个问题的研究,还有在网上获取资料,以及和室友讨论,我发现要使这款游戏更完美,我们仅仅知道一些皮毛知识是不可能实现的。当然,我也进行了更深层次的尝试,但都是以失败而告终。
感想:我觉得通过自己来完成一款游戏是非常合适的,因为在我们这个年纪大都数人都喜欢玩游戏,所以对完成一款游戏是非常乐意的。当然,我们要知道更多的专业知识。

上一篇:根本停不下来其一!通过打游戏来学习Ruby语言 -- Ruby Warrior -- 初级篇


下一篇:2019年春第一次课程设计实验报告