2019春第二次课程设计实验报告
一、实验项目名称:
飞机游戏
二、实验项目功能描述(用自己的语言描述):
通过A、D进行位移,移动飞机,通过按下空格键发射子弹|,使其击中迎面驶来的敌机@,并将其销毁。同时,根据销毁的敌机数量进行计分,在下方显示分数统计。
三、项目模块介绍:
第一部分:利用函数,实现控制飞机移动;
第二部分:实现子弹的输出,初始化子弹的位置,并且保证子弹发射后向上移动;
第三部分:增加敌机,静止的敌机;
第四部分:让敌机自动向下移动,并且代码保证了降低敌机移动速度的同时不影响用户输入响应的频率;
第五部分:击中敌机,加一个判断语句,当子弹与敌机位置相同时,即击中敌机,增加变量sore,击中敌机后sore++;
第六部分:清屏功能,利用void gotoxy(int x,int y)和函数#include<windows.h>,在show()函数中先调用gotoxy(0.0),光标移动到原点重画,实现类似于清屏的功能。
模型:
![](https://img2018.cnblogs.com/blog/1581866/201905/1581866-20190530200558661-222306845.png)
![](https://img2018.cnblogs.com/blog/1581866/201905/1581866-20190530200604696-253880935.png)
四、实现界面展示:
![](https://img2018.cnblogs.com/blog/1581866/201905/1581866-20190530200624369-544405448.png)
五、代码托管链接:
Git网页代码
六、实验总结:
问题1:
有一次代码上传过之后,发现代码欠缺,更改过后,再次上传过程中遇到困难;
解决方法:
复制代码上网搜索,找到解决方法,执行 git push –f 命令,强制上传。虽然成功了,但之后我有单独搜索了这个命令,看到了这句话:除非只有自己一个人用,不然用push –force的都该去死。恩,就是这句话,看了解释后,貌似使用不当会导致数据丢失。
问题2:
代码方面,简单的飞机游戏还可以理解,后面呢个稍微复杂一点的,有点难理解;
解决方法:
看书,我也上网查了相关的题目及答案,看一些其他人的解决方法,多看,多理解。
感想:
本周是第二次搞实验,相对于上周,熟练很多,但如果出现更改问题或者其他突发问题,仍然不会解决。对Git的其他命令未掌握。游戏设计方面,本周我看的是飞机游戏,但我直接看第二章的飞机游戏了,一开始没怎么看得懂,后来发现第一章有一个较简单的飞机游戏,然后又从简单的入手,一点一点理解。
学习进度条
周/日期 |
这周所花的时间 |
代码行数 |
学到的知识点简介 |
目前比较迷惑的问题 |
3/2-3/8 |
三天六小时 |
50 |
1、定义、运用文件指针;2、如何打开、关闭文件3、如何读出指定文件中的数据;4、如何向指定文件中写入数据; |
字符、字符串有什么区别?二者输入、输出有没有很大不同?什么才算字符串?什么算字符?在文件中二者有没有差别? |
3/9-3/15 |
四天三小时 |
180 |
1、运用二维数组解决问题,矩阵的判断;2、对一组数的所有子数组求和 |
如何在输出时利用数组的性质 |
3/16-3/22 |
三天八小时 |
210 |
1、二维数组加深理解,二维数组与矩阵;2、选择排序法解决问题;3、二分查找法 |
二分查找法这周没练习,只是看看书上例题大致懂了,不知道真正应用时能否掌握。 |
3/23-3/29 |
三天两小时 |
120 |
1、判断回;文2、字符数组的概念及其简单运用;3、一些简单的与字符数组相关的暂时没接触补充知识,一些函数,用法等。 |
在作业运用文件指针时,一开始总是出现从文件里输不出来结果,打印不出来,后来发现可能与自己输入时格式未搞好,本来不应该出现的空格出现了,导致打印不出来结果。文件指针还不是很熟练 |
3/30-4/5 |
两天 |
150 |
1、指针的含义,变量、地址、指针变量等间的关系;2、指针变量的初始化,运用指针做一些简单运算;3、指针与数组之间的关系 |
在用指针处理字符串时,应怎样定义指针变量 |
4/6-4/12 |
三天 |
200 |
1、更深一步掌握指针与数组间的关系;2、懂得指针可以实现数组的一些功能;3、指针在碰到字符数组时的应用 |
在代码中,如果遇到要输出单个字符,%s与%c有什么区别? scanf()与 getchar 两种输入方式有区别吗?会不会在有些情况下能影响到输出结果? |
4/13-4/19 |
两天 |
170 |
1、学习了与字符串有关的一些字符串处理函数;2、学习了利用指针实现内存动态分配 |
究竟什么情况下采用内存动态分配?具体要采用哪一种动态内存分配? |
4/20-4/26 |
两天 |
135 |
1、学习了结构及结构变量的定义与运用 |
如果运用递归函数解决问题,虽然使代码简化了,更美观了。但会导致相同的运算重复进行,占内存。感觉递归弊大于利。 |
4/27-5/3 |
一天 |
|
1、复习了结构与数组、指针间的关系,两者之间是如何进行替换利用; |
|
5/4-5/10 |
三天 |
165 |
1、学习了递归程序的设计;2、宏的基本定义;3、文件包含等内容; |
链表知识点看了看,不是很懂 |
5/11-5/17 |
三天 |
148 |
1、学习了指针函数、函数指针、指针数组、数组指针;2、讲了链表的部分知识。 |
链表不是很会,可能是书看的少了 |
5/18-5/24 |
四天 |
236 |
1、学习如何使用Git上传代码,如何在码云中建立仓库;2、学习如何建立本地仓库并将本地仓库与码云上的仓库相连。 |
|
5/25-5/31 |
三天 |
229 |
1、学会了简单的飞机游戏,理解了简单的飞机游戏的原理;2、能较熟练的通过Git上传代码。 |
|
表格-折线图
时间 |
累计代码行数 |
累计博客字数 |
第一周 |
80 |
275 |
第二周 |
50 |
883 |
第三周 |
180 |
1303 |
第四周 |
210 |
1849 |
第五周 |
120 |
1988 |
第六周 |
150 |
2717 |
第七周 |
200 |
3000 |
第八周 |
170 |
2820 |
第九周 |
135 |
2855 |
第十周 |
|
3945 |
第十一周 |
165 |
4934 |
第十二周 |
148 |
2654 |
第十三周 |
236 |
2274 |
第十四周 |
229 |
2044 |
![](https://img2018.cnblogs.com/blog/1581866/201905/1581866-20190530205256392-1512859466.png)