身为一个资工人,我应该可以用程式逻辑来解决你的疑问
先申明,我没有实际看过游戏程式码,这些都只是猜测,但应该八九不离十
以下文长,注意!
首先,先给大家一点背景知识,程式设计中有两个简单的资料结构
一、Stack(堆叠)
二、Queue(伫列)
Stack的特色是“先进后出”,而Queue则是“先进先出”
在SV里面,我认为是用Queue来当结算方式
用具体一点的例子来说,可以想像成一间只有一个医生的穷B8小医院
医生必须校长兼撞钟,同时处理“挂号”和“治疗”这两个工作
那么就开始执行案例一
首先,回合结束时,来了两个病人“白牙”和“暗夜袭击”
根据我听说过的,效果触发顺序是 自己主战->对方主战->自己生物->对方生物
所以白牙抢先第一个挂号,医生给它一号后标上“主战回一血”
接着暗夜袭击挂号,医生给它二号并标示“召唤一只蝙蝠”
因为效果都触发完了(没有其他病人),所以医生开始执行治疗(发动效果)
一号效果:主战者回一血
但在这个治疗后,顽皮的“天狐社”也跑来挂号了
医生无奈先给天狐社三号,并看了一下发现对面没人,就写了“打脸两血”
(其实这时候还有白牙减倒数效果触发,并拿到四号,但这边不重要先省略)
接着继续执行二号效果:召唤一只蝙蝠
没有事发生,所以继续三号效果:打脸两血
以上就是案例一的执行状况~
接着来看看比较复杂的案例二
一开始挂号的有“宝石姬”、“白牙”和“暗夜袭击”
一样,宝石姬先拿到一号,并标示“全体+主战回一血”
接着,白牙拿到二号,并标有“主战回一血”
最后,暗夜袭击拿了三号,并写着“召唤一只蝙蝠”
一号效果执行:全体+主战回一血
这时没有时间概念的“天狐社”又迟到来挂号
医生给天狐社四号时,发现对面有该死的狼人王,所以就标上“打生物两血”
然后,二号效果:主战回一血
天狐社双胞胎姊妹迟到更多地来挂号,所以医生给了五号和“打生物两血”
三号效果:召唤一只蝙蝠
这时,四号效果触发:打生物两血
医生看到对面有狼人王和小伙伴蝙蝠,决定随机打在蝙蝠脸上捶死牠
最后,五号效果触发:打生物两血
医生看到对面只有一只狼人王在卖萌,只好一掌巴两滴血下去
以上,就是案例二的实际情况
很多人可能会觉得这种计算方式很奇怪,那么应该怎么改成一般人认知的呢?
其实很简单(不过对程式设计师而言麻烦),只要把结构改成Stack就好
小小复习一下,Stack的特色是“先进后出”,概念可以想像成“叠罗汉”
接着我们就直接用案例二来演示一下
首先,三个啦啦队成员“宝石姬”、“白牙”和“暗夜袭击”要叠罗汉
因为方向跟刚刚相反,这次要从顺位最低、最没人权的暗夜袭击当底
暗夜袭击深蹲在最底下,并且摆出“召唤一只蝙蝠”的姿势
然后白牙跳上去,摆出“主战回一血”的动作
接着宝石姬跳到最顶端,做出公主般“生物+主战回一血”的pose
当姿势摆完了,大家要一个一个下来,所以最上面宝石姬先下
在“生物+主战回一血”的掌声下跳下
可是有个太过热情的观众“天狐社”冲上金字塔顶端
对着对面看台上的小帅哥狼人王抛了个“打生物两血”的媚眼
很快的,天狐社被“打生物两血”的嘘声赶下来,不过狼人王确实收到了
紧接着,换白牙要从叠罗汉阵容下来,得到“主战回一血”的欢呼
可是小87天狐社玩上瘾了,又跳上叠罗汉,再次对狼人王比个“打生物两血”的爱心
虽然这次还是被保安赶下场,但狼人王被这次“打生物两血”攻击攻陷
最后,可怜的暗夜袭击终于可以行个“召唤一只蝙蝠”的礼退场。
以上就是修改成Stack版本的状态XD
懒人包一下,SV的结算分成“触发”和“执行”两个动作
触发只是把效果放入执行的清单排队而已
而天狐社的打脸或打生物是在触发决定,打生物的谁是在执行决定
最后,来点题外话,卡牌游戏老祖宗“魔法风云会”就是用Stack来决定执行顺序
也因此可以做出“瞬间”、“反击”之类的效果,因为可以达成后发先至的效果
如果要用Queue来实现后发先至,很容易会让程式冗长、麻烦又多于
所以我是觉得不要太期待SV以后会出“反击”或“陷阱卡”之类的东西
除非,工程师铁了心要把大部分的程式砍掉重练~
就这样,以上是我的程式小教室,谢谢大家
※ 引述《hsakuya (绯色)》之铭言:
: 总之 先上个影片
: https://www.youtube.com/watch?v=5HU7ruNYOJ4
: 昨天有一场玩奶泡遇到了吸血鬼 对方5T时下了暗夜袭击 (对手回合结束时叫一只吸血蝙蝠到场上)
: 从影片的1:23开始 我方5T 对面空场
: 我下了白牙 我方回合结束时会发动一次奶砲
: 因为回合结束时对面是空场 所以这发奶砲会越过被叫出来的蝙蝠直接打脸
: 这部分应该大家都没什么疑虑
: 对面在6T时下了332华兹搭血月进化 他结束时场上有一只蝙蝠+54狼人
: 我则是下七宝石进化敲掉他的蝙蝠 回合结束后预计发动两次奶砲(白牙+七宝石效果)
: 结果这两发奶砲 “一发打去了被叫出来的蝙蝠” 另一发打在54华兹上
: 并没有“一定”朝华兹打去
: 得到结论
: 奶砲发动时只要对方场上有从者
: 因为效果触发而叫出来的从者 也是会成为该次奶砲的射击目标
: 这场差点就因为这样下去了...