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_x==enemy_x) && (bullet_y==enemy_y)) 为判断条件。相同则击中,然后score++。使用rand()函数产生随机整数,代表被击中的敌机下次出现的位置。
第六步:解决光标闪烁问题。
使用HideCursor()隐藏光标函数进行解决。
在show()中调用gotoxy(0,0),光标移动到原点位置,再进行重画,达到清屏的效果。