zoukankan      html  css  js  c++  java
  • SDUST 小学期飞机大战讲解

    2020-07-03

    • 版权声明:原创文章,未经博主允许不得转载

    这是 SDUST 小学期飞机大战讲解的第一章。

    SDUST Computer Science 小学期的飞机大战实训。本来还想提前学学 MFC ,但是因为疫情,你懂的。所以我也是小学期两周临时学的,代码比较渣,请多多指教(鞠躬)。

    并不是说 Qt 不好,很多人说 Qt 又跨平台云云,学 MFC 干啥。 MFC 在 Windows 平台具有天生优势,对于理解 Windows 平台 GUI 程序运作还是有很大帮助的。有人说“我用Mac”,那我还用龙芯呢。

    理解起来还是费劲,不过熬了一个礼拜终于熬出来了(我报告都要写完了跟我说还有一周!不是说好的两周吗 小声)。

    预备暑假记录一些在这两周不到的 MFC 学习时光中所学到的知识,在尝试把对 MFC 的感性认识上升到理性认识的同时,试图让后来者可以在这较短的时间里更好地理解它、应用它。当然如果期末考砸了…… 咕咕咕

    听我BB了这么多,我知道还是代码比较吸引人,但这不是给你白嫖的,整个项目是在dcq老师提供的模板上由我独立进行了大量的修改,除了少数几个类外已经“面目全非”。这的初衷是让你更好的理解程序(虽然我怀疑大概率会把你引向更多的坑)。如果哪里我搞错了,教教我呗~

    传送门

    预备大部分按照老师提供的模板工程和我的 v2.0.0 讲解。v2.0.0 没有实现的内容单独成节。最后讲下一定会遇到的,别的电脑运行提示缺少 DLL 的问题。

    我的环境

    OS: Windows10

    IDE: Microsoft Visual Studio Community 2017

    经测试,二进制兼容Windows7、Windows10和Wine

    实现的功能

    V4.0.3

    • 基本操作:WASD进行上下左右移动,空格键发射导弹;双人模式下玩家2通过方向键移动,回车键发射导弹;按 p 暂停;按 o 结束当前游戏

    • 血量:敌机和玩家战机的血量由血条显示

    • 导弹:导弹由玩家战机打出,打中敌机时扣除敌机总血量 20 % 的血量

    • 子弹:子弹由敌机打出,打中玩家战机时扣除战机总血量 20 % 的血量

    • 直线子弹:当玩家战机处在敌机直线攻击范围内时触发子弹直线发射,发射速度与敌机移速有关

    • 斜向子弹:当玩家战机和敌机距离低于一定值时,敌机根据玩家战机的位置斜向发射子弹,发射角度与敌机移速有关

    • 奖励:当玩家战机消灭敌机(护甲消灭除外)时有一定概率掉落奖励,拾取即可获得,道具(散弹和红心)持有数量具有上限

    • 散弹:按 2 激活,发射导弹时自动替换为散弹,每次激活每人 50 发(发射一次为一发),重复激活可叠加

    • 红心:按 3 使用,每人回复总血量 50 % 血量;如果有玩家血量小于等于总血量 0 % 时会自动使用并对该玩家增加血量

    • 护甲:拾取即自动对每人进行激活,时长为三秒,可叠加。激活期间不受伤害,并对接触到的子弹和敌机造成伤害。对于子弹,使子弹爆炸失效;对于敌机,造成总血量 100 % 的伤害

    • 加速:拾取即自动对每人进行激活,时长为三秒,可叠加。激活期间移速翻倍

    • 血量加成:无需拾取,当玩家战机消灭敌机时,若有玩家战机血量低于总血量 50 % ,获得总血量 5 % 的血量加成

    • 模式:无敌模式,单人模式和双人模式

    • 无敌模式:道具持有数量上限为 25 ,奖励掉落概率为 100% ,且持有的红心数量永远大于等于 1

    • 单人模式:道具持有数量上限为 2

    • 双人模式:散弹持有数量上限为 2 ,红心持有数量上限为 3

    • 双人无敌:道具持有数量上限为 25 ,奖励掉落概率为 100% ,且持有的红心数量永远大于等于 1

    • BOSS:消灭一定数量敌机后敌机召唤 BOSS ,BOSS 产生的同时敌机数量减少,消灭 BOSS 后进入下一卡关

    • 卡关:随着卡关增加敌机子弹速度、BOSS 血量等会有一定提升;非无敌模式中升入下一卡关时红心上限提升 1 ,单人模式上限最高为 5 ,双人模式上限最高为 6

    • 任务失败:玩家战机血量降至总血量 0 % 及以下且无法恢复时,任务失败,游戏结束;可以按 r 重玩;HJKL可以重新选择模式

    V2.0.0

    没有实现重玩、记录和读取成绩、背景、BOSS、卡关、加速道具……等一系列灰常拉风的操作。由于不想让整个程序显得非常俗气,没有做爆炸音效也没做更多的图片特效啥的,尽管没有什么技术上的问题。

    本章完

    by SDUST weilinfox

    本文地址 https://www.cnblogs.com/weilinfox/p/13229805.html

    续章 未编辑

  • 相关阅读:
    摩根斯坦利面试
    Interview Preparation IV
    Interview Preparation III
    Interview Preparation II
    Interview Preparation I
    ASCII Characters
    Java Serialization
    贝莱德伦敦分部面试
    SVG基本知识
    前端知识整理(四)【HTTP相关】
  • 原文地址:https://www.cnblogs.com/weilinfox/p/13229805.html
Copyright © 2011-2022 走看看