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

一、实验项目名称

飞机游戏。

二、实验项目功能描述

1.程序启动,在一个长方形范围内,范围的正中间有一个*(飞机);
2.#(敌机)首先从范围的最顶部出现,一直下移,如果下移过程中与|(子弹)的位置重合,则敌机消失,得分加一,如果下落到长方形范围的最底部,则该敌机消失,产生新敌机;
3.通过英文状态下输入a控制*(飞机)向左移动一个位置,输入d控制*(飞机)向右移动一个位置,输入s控制*(飞机)向下移动一个位置,输入w控制*(飞机)向上移动一个位置,输入空格则飞机发射子弹;
4.如果敌机在下移过程中与*的位置重合,则显示“游戏结束”,游戏结束。

三、项目模块结构介绍

1.源程序由4个预编译命令和一个主函数组成,其中主函数调用了5个函数,分别是startup()show()updataWithoutInput()updataWithInput()HideCursor()
2.其中函数show()中又使用了gotoxy函数(在windows.h中),函数updataWithInput()中用了kbhit函数(在conio.h中)。

四、实现界面展示

五、代码托管链接

代码看这里

贡献截图

六、实验总结

问题

1.整个运行界面闪烁严重;

解决办法:把system函数改为gotoxy()函数,使光标移动到原点位置。
2.运行界面内部有光标闪烁;

解决办法:在主函数的开头使用光标隐藏函数HideCursor()。
3.当飞机和敌机的位置重合时,显示游戏结束,但是程序并没有结束,而是停止了,当连续多次再按enter后,又继续运行;

解决办法:把system("pause")改为break。

感想

这是第二次接触游戏设计,对于游戏设计有了个初步的印象,这周照书上写了之后,想自己再加一点点东西,加完之后运行起来就发现放在不同的地方,效果不同,然后就不停的试,最后用了个自己满意的一版,另外还见到了没见过的函数,又去网上查它们的功能。写完整个游戏后感觉对一个游戏的设计真的要细究到每一个步骤,每一个变化,这是在课堂上不会教的内容。

posted @ 2019-06-01 16:42  LeeMayZ  阅读(130)  评论(1编辑  收藏  举报