zoukankan      html  css  js  c++  java
  • 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。

    感想

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

  • 相关阅读:
    线程(C++11)
    初始化、赋值
    优质学习资料总结
    移植之乱谈
    采集音频和摄像头视频并实时H264编码及AAC编码
    H264解码器源码(Android 1.6 版)
    移植ffmpeg到VC环境心得
    收集的网络上大型的开源图像处理软件代码(提供下载链接)
    C++开源库,欢迎补充。
    一个轻量级AOP的实现(开源)
  • 原文地址:https://www.cnblogs.com/LeeMayZ/p/10959808.html
Copyright © 2011-2022 走看看