无名杀吧 关注:62,444贴子:282,458
  • 27回复贴,共1
求助

如何在选择多名目标后依次进行判定?

只看楼主收藏回复

如题,我这样子写只能做到单判断一次,而且会出现即便判断为红色也会触发黑色另一个技能想知道是哪里出现了问题,如果想要写依次进行判定是要写一个循环吗


IP属地:浙江来自iPhone客户端1楼2023-04-03 15:56回复
    就是如果我先选择第一个目标,再选第二个,只判定一次且只有第一个目标会进行判定,并且如果我第一个选的其他角色第二个选自己,即便判定是红色也会触发第二个技能


    IP属地:浙江来自iPhone客户端2楼2023-04-03 15:58
    回复
      抄王朗啊


      IP属地:山东来自Android客户端3楼2023-04-03 17:45
      收起回复
        ...第一个技能的问题有点多先讲讲第二个技能. 估计就是你filter里result没定义导致filter没进行判断直接给过了发动了player.draw(), 你试试把中间的result改成event.result
        第一个技能等我整理一下问题


        IP属地:上海4楼2023-04-03 17:47
        收起回复
          先是发动内容上的问题, 你step 2里judge的target它被定义为了result.targets[0]. 意思是只有你选的第一个target才会发生judge这个动作. 所以不管你怎么选都只有第一个角色会进行判定. 然后是判定发生效果, 我很少做判定类技能这个可能不太清楚, 但是引用的技能里按判定牌生效的效果一般不这么写, 要放到下一个step里去. 如果你这么写能发生效果那可能这个技能会好做很多. 如果写的这些内容发生不了效果就需要一些其他手段了. 总之如果想要让每个选定的目标进行判定, 如果只是判定的话写个循环就行(因为我不知道judge前面的角色能不能是多个角色)


          IP属地:上海5楼2023-04-03 18:07
          收起回复
            还有一些细节问题, step和event变量的用法有点乱. step一般是需要玩家执行操作然后根据操作结果决定下一步的执行的时候才用的, 比如选择目标选择卡牌进行判定等. 理论上第一技能直接step 0 direct一个选择目标然后step 1进行执行就够了. 然后event变量是用来储存一些跨step变量用的, 因为var的变量只能在同一step保留. 所以一开始甚至不用定义event.num直接定义成num(甚至不用定义直接调用num定义的内容)然后写chooseTarget就够了因为这个参数不会再留到下一个step, 然后下边的step的event.target同理


            IP属地:上海6楼2023-04-03 19:12
            回复


              IP属地:浙江来自iPhone客户端8楼2023-04-03 20:18
              回复
                如果judge内写效果无法生效必需分step的话我能想到两种思路:
                1. 分step每次选一个目标进行判定, 然后执行到底最后写返回step 0重新选目标这种一个一个选一个一个判定的方法. 细节上是要储存已经选过的角色和已经进行判定的次数.
                2. 这个技能只写judge然后再写个子技能触发条件全局判定然后filter筛选getParent里有你这个事件, 然后根据judge的result写发动效果


                IP属地:上海9楼2023-04-03 20:40
                收起回复

                  技能1用思路2实现的代码, 技能id叫jineng1要改一并改掉


                  IP属地:上海10楼2023-04-04 08:17
                  回复