zoukankan      html  css  js  c++  java
  • 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建立再上传即解决。第三个问题是我在运行游戏,开始玩的时候发现的,刚开始还好好的,玩着玩着飞机不见了,不论按啥都没用,但游戏还在正常运行。这应该是游戏的漏洞,依我目前的知识水平无法解决,期待以后知识丰富了把这个问题解决。

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

  • 相关阅读:
    Java的静态块与实例块(转)
    Programming Ability Test学习 1031. Hello World for U (20)
    Programming Ability Test学习 1011. World Cup Betting (20)
    Programming Ability Test学习 1027. Colors in Mars (20)
    Programming Ability Test学习 1064. Complete Binary Search Tree (30)
    Programming Ability Test学习 1008. Elevator (20)
    【maven详解-生命周期】Maven的生命周期和插件
    【maven详解-插件】maven插件学习之源码插件Source Xref
    $(document).ready(){}、$(fucntion(){})、(function(){})(jQuery)onload()的区别
    你还没真的努力过,就轻易输给了懒惰
  • 原文地址:https://www.cnblogs.com/wsyhc/p/10948719.html
Copyright © 2011-2022 走看看