博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019春第一次课程设计报告
阅读量:5164 次
发布时间:2019-06-13

本文共 1210 字,大约阅读时间需要 4 分钟。

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),光标移动到原点位置,再进行重画,达到清屏的效果。

1580458-20190530114500732-2074619866.png

四、实现界面展示

1580458-20190530114555357-320094897.png

五、代码托管链接

.

六、实验总结

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

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

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

转载于:https://www.cnblogs.com/wsyhc/p/10948719.html

你可能感兴趣的文章
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>
写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋...
查看>>
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>