2019春第一次课程设计报告

2019春第一次课程设计报告

一、实验项目名称

飞机游戏,英文名(airplane game)

二、实验项目功能描述

1、可移动的飞机。玩家通过键盘上的方向键控制飞机移动的方向。

2、能发射子弹的飞机。玩家通过不断按空格键来发射子弹,每按一次子弹便发射一次。

3、得分。每当玩家控制飞机移动发射子弹击中目标后便能得分,不击中则不得分,得分无上限,下限为永恒的0.

4、展现形式。2D展现形式。

三、项目模块结构介绍

实现项目使用的主要函数有startup()、show()、updateWithoutInput()、updateWithInput().

第一步:进行代码的重构,实现飞机的运行。使用嵌套循环输出。

如for(i=0;i<high;i++){
for(j=0;j<width;j++){

输出飞机*、敌机@、子弹|及空格。

第二步:实现常规子弹。

如(bullet_x= position_x-1;bullet_y=position_y;) 使发射子弹的初始位置在飞机的正上方。子弹自动上移为(bullet_x--)

第三步:增加敌机@

坐标设为(enemy_x,enemy_y)。

第四步;考虑敌机的移动问题。

(enemy_x++)使敌机自动下移。
在函数利用静态变量speed控制敌机移动。

第五步:击中敌机。

以if ((bullet_xenemy_x) && (bullet_yenemy_y)) 为判断条件。相同则击中,然后score++。使用rand()函数产生随机整数,代表被击中的敌机下次出现的位置。

第六步:解决光标闪烁问题。

使用HideCursor()隐藏光标函数进行解决。
在show()中调用gotoxy(0,0),光标移动到原点位置,再进行重画,达到清屏的效果。

四、实现界面展示

五、代码托管链接

https://gitee.com/yhcyhcyhc/yxrw/blob/master/feiji.cpp.

六、实验总结

问题1:git闪退的问题?问题2:删除码云中通过git上传的文件如何再次上传?问题3:此游戏的漏洞如何修复?

解决方法:第一个问题通过百度我找到了解决方案,就是在设置中点击更新与安全,再点恢复,进入高级启动模式,按7强制性关闭数字签证即可解决。第二个问题我刚开始是把在git仓库里的文件删了,然后重新上传,结果还是不行。于是询问室友,室友把我创的仓库删了重新用git建立再上传即解决。第三个问题是我在运行游戏,开始玩的时候发现的,刚开始还好好的,玩着玩着飞机不见了,不论按啥都没用,但游戏还在正常运行。这应该是游戏的漏洞,依我目前的知识水平无法解决,期待以后知识丰富了把这个问题解决。

感悟:开发程序一样需要动脑和努力,每一款软件或者游戏都不是一朝一夕能制作出的,都需要大量的构思和编程,学习好软件工程这门课对日后的编程很有用。没有付出,就没有回报。

posted @ 2019-05-31 14:12  小嗝嗝爱作业  阅读(190)  评论(0编辑  收藏  举报