zoukankan      html  css  js  c++  java
  • 第一课程设计实验报告

    一、 实验项目名称

                《飞机大战》
    

    二、 实验项目功能描述

    1、 用w、s、a、d控制自己的飞机的上下左右,空格发出子弹
    2、 击落敌机,从而获得加分,得分越高,敌机运动速度越快
    3、敌机随机出现,
    4、自己飞机有边界,不能出界
    5、输入字符0结束游戏,显示你的最后得分

    三、 项目模块结构介绍(文字+总体模型)

    模型:初始化
    显示画面
    数据输入
    无数据输入时继续运行程序
    使得屏幕不闪屏
    能播放音乐

    1、 初始化模块:startup();函数:控制游戏画面尺寸。自己飞机初始位置。敌机第一次出现的位置。子弹初始位置:位于自己飞机的正上方。飞机速度控制。
    2、 隐藏光标模块:HideCursor():是一个系统定义函数
    3、 播放音乐模块:从库里直接调用
    4、 显示画面模块:show(),从原点开始,清屏重画。输出子弹位置,自己飞机位置,敌机位置
    5、 无关数据输入继续运行模块:updateWithoutInput()判断输出的子弹是否击中敌机,击中敌机则子弹消失(出界),输出新敌机。控制敌机移动速度,分数到达一个值则飞机速度加快。
    6、 有关数据输入运行模块:updateWithInput():接收飞机移动输入,还有子弹输入,并控制飞机不出界。输入零则游戏结束

    四、 实现界面展示

    五、 代码托管链接

    https://gitee.com/xqldc/xqldx.git
    六、 实验总结(提出问题+解决办法+感想)
    书上的代码很不错,但是我还是改进了,改进如下:
    1、 增加了结束游戏的输入,
    2、 还增加了条件,使得自己的飞机不会出界,
    3、 增加了控制飞机速度的参数,得分越高,敌机速度越快
    4、 增加了音乐
    遇到的问题1:速度参数是整数的时候,每次敌机速度加快后的第一个敌机都会停止在第一行不会移动。
    解决方法:改变参数,
    遇到的问题2:想输出复杂的飞机图形,但是发现后面真正输出图片的时候,只要一个图片输出就行了,说明现在这个只输出一个字符的飞机就OK了,能满足以后的功能了。
    感想:现在做的还比较顺利,但是离真正的应用程序还是差的远,很多功能想到了,但是不知道怎么实现。不会的还是得多百度,多问,因为现在的很多东西想也想不懂,只有先了解它的原理和使用方法才能进行下一步。

  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/xqldc/p/10954736.html
Copyright © 2011-2022 走看看