【触发器攻略】随机链表

修改于2023/03/03450 浏览攻略
玩元气骑士的时候,每过几关都有一次选择天赋的机会。我在想,如果用军团战棋来做这种事情,会是什么表现形式呢?
选择天赋的流程不难,有一个巨大的天赋库,里面有十几或者二十几个天赋,每次抽取3(我想做成4个)个没有选择过的天赋可供选择。
到了军团战棋这里面,最好的表现形式还是弹出选项,不过实现方式会有亿点点差别。如果用一种模型来表示各种复杂的弹出选项的实现功能的话,那么商店功能是树状的,而天赋选择功能是线性的,并且显示的顺序并不是固定的。
对于每一个链条来说,有这样一种和自身有关的属性:lpx(x为序号,这个属性表示在展示选项的时候在第几页)。其实这一个数字已经足够唯一确定此链条的显示了,下面我们详细说明一下。
假设有20个链条,分别有属性lp1~lp20,其初始值都为0.在一定的数字分配操作之后(这玩意也很复杂,也是核心难点,之后再讲),其中有四个链条的属性被分别赋予了值1,2,3,4,我们假设:lp11=1,lp3=2,lp1=3,lp8=4,则我们的目标是在显示的时候,分别能够显示4个弹出选项对应第11,第3,第1,第8这四个链条。
TapTap
每个链条有三个选项,分别是切到上一页,切到下一页,确认。应该注意到了,“上一页”和“下一页”的触发器名字是很相近的,事实也是这样,这两个触发器几乎没有差别。
TapTap
其中,lp代表当前需要显示的链条的页码,当lp=2的时候,则lpx=2的链条将会显示。
此时,我们来倒推一下,对于每一个链条来说,需要哪些东西:首先,当警戒1启动的时候,所有的链条都会过一个判定,把自己的页码和lp进行比较,但是lp=0的时候不能通过判定,此时应该是此链表的详情页(介绍这些玩意有啥用),还有,假设有内容的链条一共长度为4的话,那lp=5时也会出现固定的页面,但是那也不重要了。
于是,最终每个链条的触发器如下(我们仍以上面出现的那个天赋为例):
TapTap
嗯,到此为止,第一个难点已经解决了,下面就是第二个难点:怎么进行页码的随机分配?要知道,军团战棋的自带的随机都是有放回随机,而非无放回随机。
我的解决方案是,当随机到了已经选择过的页码之后,会被打回去,重新进行随机,这样概率还是相等的。(详情请见【触发器攻略】触发器使用技巧)
8
2
3