炉石的玩家吧 关注:1,392贴子:24,374

回合结束阶段大揭秘,请叫我暴雪程序员

只看楼主收藏回复

大家好,我是暴雪程序员,关于回合结束阶段的结算机制,大多数人都只知道先上先触发,但具体原理以及更加复杂的问题很多人并不知道,现在本程序员将给你们科普,还原炉石程序设计的逻辑。
之前在炉吧发了竟然秒沉,那里的人真是不尊重本程序员,以后我会把程序改改,让他们把把卡手。回炉重造之后作为一个科普贴抛砖引玉吧。


IP属地:重庆来自iPhone客户端1楼2015-03-12 10:53回复
    来说一下本程序员当初设计的程序流程:当进入回合结束阶段时,将所有存在于场上的回合结束阶段发动的技能按照登场先后顺序加入一个队列,之后开始依次执行,直到所有技能全部发动,将队列清空。
    (这里解释一下队列:这是一种数据结构,先进先出,就跟排队买东西一样,先到的人可以先买,所以叫队列)


    IP属地:重庆来自iPhone客户端2楼2015-03-12 10:54
    回复
      2025-08-30 19:24:54
      广告
      不感兴趣
      开通SVIP免广告
      举个例子加深下理解:给分裂软泥怪上力量代价,程序执行流程为:将分裂以及力量代价的死亡依次加入队列,执行分裂以及本体死亡,最后复制体会存活于场上。


      IP属地:重庆来自iPhone客户端3楼2015-03-12 10:54
      收起回复
        还有几个更深层次的问题:
        1、随从的死亡执行是在所有技能全部发动完以后,也就是说当一个随从受到致命一击时已经判定他死亡,但此时他还没有消失,依然存在于场上,也不会触发亡语。


        IP属地:重庆来自iPhone客户端4楼2015-03-12 10:55
        回复
          举个例子:我方有一个嘉顿男爵,对方场上有一个2血女王和一个满血大螺丝,此时我上女王力量代价会发生什么呢?


          IP属地:重庆来自iPhone客户端5楼2015-03-12 10:55
          回复
            正确流程如下:嘉顿和力量代价死亡进入队列并依次触发,先烧死对面女王,但并未结算死亡仍然以5-0存在,力量代价致我方女王死亡,立即触发亡语,如果控制敌方女王,之后结算已控制的敌方女王死亡,控制大螺丝;如果控制大螺丝,敌方会随机控制嘉顿或大螺丝。


            IP属地:重庆来自iPhone客户端6楼2015-03-12 10:56
            回复
              2、关于克尔苏加德。克总与众不同的地方在于,执行他的技能时有两个阶段:一个是判定已死亡的随从阶段,一个是复活阶段。


              IP属地:重庆来自iPhone客户端7楼2015-03-12 10:56
              回复
                大家都知道以前的克总有BUG,会复活自己,那是因为当时的程序是:在克总技能出队列时(也就是触发时)判定该回合已死亡随从,随即复活。这也就是螺丝打死克总后会复活自己的原因。


                IP属地:重庆来自iPhone客户端8楼2015-03-12 10:56
                回复
                  2025-08-30 19:18:54
                  广告
                  不感兴趣
                  开通SVIP免广告
                  而机智如我,本程序员修改这个BUG采用了最简单的方法:将随从死亡的判定阶段提前,我们在克总技能进入队列时立即判定该回合已死亡随从。这样克总就不会复活自己了,因为他的死亡在判定之后。


                  IP属地:重庆来自iPhone客户端9楼2015-03-12 10:57
                  回复
                    当然了,这也带来了很多新的问题,例如:即使克总没死,回合结束阶段被螺丝嘉顿杀死的随从不是也不能复活了么?这不是BUG吗?


                    IP属地:重庆来自iPhone客户端10楼2015-03-12 10:57
                    回复
                      当然不是,原因就是本程序员太懒了,并不想用其他复杂的方法改,嗯,我们说什么对就是对的,谁叫我们是暴雪爸爸呢?


                      IP属地:重庆来自iPhone客户端11楼2015-03-12 10:57
                      回复
                        好了,今天的科普到此结束,大家有什么问题就赶紧问吧,本程序员还要去开发黑石山呢。


                        IP属地:重庆来自iPhone客户端12楼2015-03-12 10:58
                        回复
                          暖贴~


                          月老
                          每对新人结婚成功的那一刻,送礼最多的吧友可以获得本次求婚的“月老”称号和成就,去领取
                          活动截止:2100-01-01
                          去徽章馆》
                          IP属地:浙江来自iPhone客户端13楼2015-03-12 11:00
                          收起回复
                            先顶再看


                            来自Android客户端14楼2015-03-12 11:01
                            收起回复
                              2025-08-30 19:12:54
                              广告
                              不感兴趣
                              开通SVIP免广告
                              程序猿你好


                              IP属地:四川来自Android客户端15楼2015-03-12 11:01
                              收起回复