评论

微信小游戏制作工具——随心设计(8)

空域战场 战役结束后的处理内容

话说关于这个空域战场从开篇后就一直在介绍说明中,但是无论有多少种机变之处,一场战役总有结束的时候。关于战役结束有3种不同的结局,一是战役胜利、二是战役失败、还有就是主动撤离战场(离开游戏就不算数了吧)。3种情况各有对应的处理方案,不过根据最终策划的内容:本作是不存在GAMEOVER一说的,下面来看看全套的处理过程吧!

战场中的每次击毁星舰、击落战斗编队或近身格斗结束后,都要调用一次“胜负判定”函数,而这个函数的脚本代码也简单的几乎透明......,首先从全体空域目标中检查是否有敌人存在(灰星、与海盗这两个阵营);

当敌方目标不存在、或BOSS号归零时判定胜利。前者无须解释,但BOSS号又是怎么回事呢? 我们看到全局变量中战场BOSS号初始值为-1,在拥有BOSS身份的单位登场前这个归零的判定时无效的,但是等到了BOSS登场的回合数后,该数值将被改写为其在“”对象数据的标志(大于0的整数),同时它的基础属性也将获得50%的额外加成(是个狠角色)。

在战场中为攻击行为进行伤害结果判定时,如果被摧毁单位的”对象数据标志等于变量战场BOSS号,就说明本场战役的BOSS已经被拿下,胜负判定也自然就是战役胜利了。

正常的胜利后先调用一次“关卡解锁判定”函数,关于本作的战役关卡解锁规则是这样设定的:

  1. 因为总共有7个战役关卡,所以我方属性对象(这也是玩家主要存档数据)中对应有取值范围0~4的7个关卡进度属性,当属性为0时未获得挑战对应关卡的权限、大于等于1时可以挑战该关卡普通模式、大于等于2时可以挑战困难模式、大于等于3时可以挑战地狱模式,当地狱模式通关后该关卡进度等于4、同时太空桥场景的对应关卡图形外有红色框终极通关标志。
  2. 初始阶段除了第一个战役的关卡进度等于1其它均为0,我们只有挑战第一个关卡普通模式的权限,但通关后会解锁第二个战役关卡的普通模式权限、同时第一个战役关卡进度等于2——可以挑战困难模式了。 以此类推,如果当前通关的战役不是第7个、且下一个战役关卡进度等于0,则下一个战役关卡进度+1;而如果当前的战役关卡进度小于4、且难度与进度值相等,则该进度也+1。

处理完关卡解锁判定”后就是“全体战队整备检查”函数了,这个功能函数在调用时需要传递一个带有3种含义的参数,分别为“胜利”、“失败”和“逃离”。这3种情况都是关于母舰作战编队方面的,这里简单描述下各自的处理内容:

  1. 传参“胜利”时 既然胜利就可以大大方方的全身而退,此时检查所有编队的减员损失状况(包括派遣到空域及停泊在母舰上的全部编队),如有损失且所用的不是初始机型,则将其剩余战机数目加回备用机对象的所属机型上,同时该编队的机型替换为初始机型。 说白了,就是因当前编队减员而把剩余的战机入库、换回基本型号的战机,下次出征前可先更换新型战机——如果备用机数足够!
  2. 传参“失败”时 失败的条件是母舰被攻击至“损毁”,此时所有停泊在母舰停机坪的编队、与派到空域作战的编队都失去了根基,所以全部编队都损失掉装备的先进机型而无一幸免。(注意这里的损失是指:编队都换回了最初的机型,而换下的新型战机没有入库到“备用机”对象数据中。)
  3. 传参“逃离”时 母舰内停泊的编队免去丢失新型装备战机的惩罚,但空域内战斗中的编队全体损失新型战机(作为大本营的母舰没等他们“上车”就跑路了.......)。

关于撤离战场是在回合结束按钮旁的系统设置项中,实际操作时有警告内容提示,以免发生误操作行为。

检查完编队装备就到了战利品收益处理部分了,有人可能会疑惑:之前不是已经在 每次消灭敌人的伤害判定时 调用过“战斗获利”函数了吗? 确实如此!

但是“战斗获利”所获得的战利品(包括战果值和各种芯片)并没有直接增加到我方属性对象的具体属性值中,而是临时存放到“战利品对象”数据中,只有最终战役胜利才能将其“结算”到我方属性对象数据里,所以挑战高难度战役时,想占点便宜打到些东西后跑路...是行不通的!不消灭全部敌人或击杀BOSS就拿不走一丝好处!

战斗获利”函数的基础获利情况(算是爆率吧)设定在战利品经验值表格中,这里面每个型号敌方单位的经验值(也是战果值)、掉落物品类型、掉落物品数量、掉落概率各有3种,对应3种不同的战役难度。 但在概率方面还有个特殊的设定如下:

  1. 当处于普通模式难度下,只按照经验1(必得)、掉落1(概率)、数量1概率1,来决定获取情况;
  2. 当处于高难度比如地狱模式下,经验按对应的经验3来获取,掉落物先看掉落3的对应数量3概率3,如果概率3没有取得,则将概率3叠加到概率2上去判定掉落2配合数量2是否取得,如果依然没有取得则将概率3+概率2+概率1后再去判定掉落1是否取得...

这样的处理使得高难度下虽然没有机会同时获得多种掉落物,但至少获得低端物品的概率大幅增加。 (ps:对于一个微信小游戏来讲,这样的设置似乎过于“画蛇添足”了,但不管怎么说至少证实了这一点:即稍微复杂些的游戏逻辑放在小游戏里也能完全行得通!)

回过来再说说战利品收益最后的处理方法,战利品对象数据中只是基础获得的东西,还要“结算”到我方属性对象数据中,而结算过程也是颇有特色的,我们是用通知消息将结算过程交给容器-翻牌来进行处理。

这个翻牌处理将单倍、1.5倍和双倍3种结果随机生成在3张牌中,可手动点开其中一张牌面、也可倒计时6秒后自动开启一张牌面,由牌面结果来决定获利的加成,将加成后的获利结果添加给我方属性对象数据中,稍后退回到太空桥选关整备场景中。(详细脚本代码略)

这个游戏介绍到目前为止,主体结构应该越来越趋于完整了,但是之前所说过的选关整备界面也是逻辑结构相当复杂的部分,有必要将其设计结构专门介绍一下,最后再补充些关于战场单位的原始属性表格结构、与战役设定的一些特点......所谓麻雀虽小五脏俱全,这个小游戏也就完成解析、并清楚地呈现到大家面前了。

下一篇我们介绍选关整备界面的设计结构。


.

最后一次编辑于  2022-06-27  
点赞 1
收藏
评论
登录 后发表内容