吞食天地吧 关注:77,151贴子:1,195,808

回复:64物法 深入研究

取消只看楼主收藏回复

查看编所武将后,对阵武将中大将的武将ID、最大兵力、武力等信息会被查看武将的信息所覆盖,对阵大将的现有兵力信息不会发生改变。


IP属地:湖南来自Android客户端18楼2020-04-27 09:42
回复
    接下来是数学课时间,我们举个例子。
    我方武将ID,7个字节,621~627分别为:
    关平(9)
    周仓(c)
    孔明(8)
    赵云(b)
    张飞(3)
    关羽(2)
    伊籍(d)
    对阵武将ID,5个字节,628~62c分别为:
    吕布(43)
    李傕(39)
    郭汜(3a)
    张济(3b)
    李肃(3d)
    我方当前兵力,21个字节,62d~641分别为:
    关平兵力 1588 (34 06 00)
    周仓兵力 1140 (74 04 00)
    孔明兵力 915 (93 03 00)
    赵云兵力 1085 (3d 04 00)
    张飞兵力 1258 (ea 04 00)
    关羽兵力 970 (ca 03 00)
    伊籍兵力 1375 (5f 05 00)
    对方当前兵力,21个字节,642~650分别是:
    吕布兵力 3800 (d8 0e 00)
    李傕兵力 3100 (1c 0c 00)
    郭汜兵力 3000 (b8 0b 00)
    张济兵力 3200 (80 0c 00)
    李肃兵力 2800 (f0 0a 00)


    IP属地:湖南来自Android客户端21楼2020-04-27 10:27
    回复
      其他最大兵力、武力等信息就不再贴了,有兴趣的自己算吧。



      IP属地:湖南来自Android客户端22楼2020-04-27 10:33
      回复
        我们已经知道,每使用一次64物法621~641向上偏移2个字节。
        第1次使用64物法后,我方武将ID地址段的关平、周仓被挤走,其余5位武将向上偏移2个字节,吕布、李傕占有了原来关羽、伊籍的位置。
        第2次使用64物法后,孔明、赵云被挤走,郭汜、张济加入队列。
        第3次使用64物法后,张飞、关羽被挤走,李肃、『赵范』加入队列。
        第4次使用64物法后,伊籍、吕布被挤走,
        『张苞』、『刘刘』加入队列。
        为什么是第3次64物法后,『赵范』会加入队列呢?
        地址62c是李肃的武将ID(3d),
        地址62d是关平兵力信息的一部分(34),
        0x34对应到武将ID中,恰好是赵范。
        同理,62e、62f的0e、00,对应的武将ID分别是张苞、刘刘。
        至于使用64物法后,所引发的兵力的暴涨,也可以按此楼的方法进行准确推理。





        IP属地:湖南来自Android客户端24楼2020-04-27 11:54
        回复
          综上所述,可以通过64物法,结合我方武将现有兵力的调整,变出想要的任意武将。神秘武将、颜良、太史慈等等,都可以轻易收至麾下。


          IP属地:湖南来自Android客户端25楼2020-04-27 12:01
          回复
            接下来,我们探讨更为深入的话题:第一章如何避免64物法引起的各种卡死问题,以及第二章开始如何保留一些特殊武将。


            IP属地:湖南来自Android客户端26楼2020-04-27 12:04
            回复
              我们假定地址627~621,分别为1~7号位置。
              开局之后,刘备、关羽、张飞、路昭、朱灵,分别在在1~5号位。
              朱路离队后,陈登继承5号位,颜良、文丑、赵云先后继承4号位。夫人、关平先后为7号位,周仓为6号位。
              多说几句,第三章卧龙出山后,孔明继承陈登的5号位,鲁肃继承刘备的1号位;第四章鲁肃离队后,1号位则由伊籍继承。


              IP属地:湖南来自Android客户端27楼2020-04-27 14:04
              回复
                以陈登入队为例,我们讲一下武将入队还是入编的问题。
                陈登入队的条件:
                A. 1~5号位对应地址(627~623)的数据为〖0〗;
                B.队列不满7人(包含刘刘和复制武将)。
                这里的数据〖0〗,又有两种情况:
                a.该位置为显示武将刘刘;
                b.该位置不显示(空置),且没有"隐藏武将"(包括该位置为隐藏武将刘刘的情形)。
                下面举几个例子:
                1.朱路离队前,打败纪灵后,我们一路护身烟返回徐州使用1次64物法,朱路分别被偏移到7、6号位,因为当前队列只显示1~5号位,所以7号位的朱灵、6号位的路昭变成了"隐藏武将"。此时,1~5号位分别为"显示武将"纪灵、梁刚、刘备、关羽、张飞,等我们打败袁胤、袁术、车胄后,回到徐州是无法使陈登入队的(陈登会入编所),因为1~5号位都已经被占满了。
                2.朱路离队前,打败纪灵后,我们一路护身烟返回徐州,『复位重载后』使用1次64物法。此时,1~5号位分别为"显示武将"刘刘、刘刘、刘备、关羽、张飞,等我们回到徐州是可以使陈登入队的,因为1~2号位是显示武将刘刘。陈登入队后,队列会有1个刘刘消失,同时新增2个陈登。
                3.打败袁术,我们一路护身烟回到徐州,朱路离队后,使用1次64物法。此时,1~3号位分别为"显示武将"袁术、纪灵、刘备,4~5号位分别为"隐藏武将"关羽、张飞,6~7号位不显示,且没有隐藏武将(因为原本4/5号位的路昭/朱灵已经离队)。此时。打败车胄后,也不能使陈登入队,因为1~5号位都已经被占满了,尽管4、5号位是被"隐藏武将"占据。


                IP属地:湖南来自Android客户端30楼2020-04-27 17:13
                回复
                  理解了陈登入队的问题后,下面的各种场景将变得容易理解。
                  1.徐州撤退战。撤出循环战+保证有船开往冀州的条件:队列中必须有关羽!至于张飞,则可有可无。
                  2.冀州颜良/文丑/杨怀可入队的条件,与陈登入队的条件相同。各种使用64物法后的具体情形,有兴趣的吧友可以自行分析。
                  3.正常情况下,可以用信先后收颜良、文丑、杨怀入队,按照入队顺序,三人分别占用4~2号位。2号位注意别把关羽的石刀弄丢,另外可以提前装个鳞盾,降低二爷过五关斩六将的难度。
                  4.剧情跳转至宛城的关羽/夫人时,如果不想被关在宛城出不了门,要求7号位地址的数据必须为〖0〗(约等于必须要在夫人的物品栏中看到『赤兔马』)。具体的数据〖0〗规则,与陈登入队楼的说明相同。
                  5.过五关斩六将时,如果不想被卡死在荥阳关(王植到处乱走,不再接待关羽,从而无法通过此关,导致前往冀州的渡船不会出现),剧情跳转关羽/夫人前,与袁绍对话时,队伍中必须有陈登。
                  6.剧情跳转至关平找刘备时,如果不想因为丢了刘备,导致关定庄陷入循环找刘备或者第二章开始队伍隐形的话,剧情跳转前,关羽与关定对话时,要求1号位地址的数据必须为〖0〗。具体的数据〖0〗规则,与陈登入队楼的说明相同。


                  IP属地:湖南32楼2020-04-27 19:12
                  收起回复
                    对楼上的各种情形,做些补充说明。
                    陈登加入时,默认为5号位。
                    如果5号位被占用(即地址数据非〖0〗),则会向下论询,去查看4号位的状况。以此类推,如果5~1号位都被占用,则陈登入编。
                    如果某位置为〖0〗,且为显示武将刘刘,则刘刘消失,加入两个陈登;如果某位置为〖0〗,且无隐藏武将,则陈登正常入队。
                    冀州颜良/文丑/杨怀(默认4号位)的加入,跳转宛城时关羽(默认2号位)/夫人(默认7号位)的加入,跳转关平找刘备时刘备(默认1号位)/陈登(默认5号位)/关平(默认7号位)的加入,都会遵循向下论询的定律。


                    IP属地:湖南来自Android客户端34楼2020-04-27 20:38
                    收起回复
                      两次剧情跳转(跳转宛城关羽/夫人,跳转关平找刘备),都会将我方队列中的显示武将清空一次。
                      如若队列中有多个ID相同的武将,比如跳转关平找刘备之前,我方队列有3个神秘武将,则只会清空位置号最大的一个,另外2个随剧情跳转至刘备处。


                      IP属地:湖南来自Android客户端35楼2020-04-27 20:48
                      收起回复
                        至于隐藏武将,剧情的跳转不会对其造成影响。利用这两个特性,我们可以将神秘武将、夏侯惇、杨怀、曹操等武将,保留至第二章的荆州使用,后面我会举一个保留曹操的例子。


                        IP属地:湖南来自Android客户端36楼2020-04-27 20:50
                        回复
                          说一下第二章(荆州)开始,队列刷新的问题:
                          1.所有的隐藏武将都会变为显示武将;
                          2.所有的重影武将都会变成一个;
                          3.所有的刘刘都会消失;
                          4.1~3位需要对应为刘关张三人。
                          如果这三个位置号存在不匹配的情况,第二章的指令将不完整:
                          a.如果1号位不匹配,此时队列为空,强行执行队列指令的话,会导致武将的物品/装备栏混乱,有可能出现藤甲等高级装备,也有可能出现一堆石斧。此外,不能查看我方武将状态,不能调整物品、装备,非战斗状态不能使用物品、谋略等等。同时,大地图不显示武将模型(即队列处于幽灵状态👻)。
                          b.如果1号位匹配且2号位不匹配,则只能对刘备使用上述指令,大地图只显示刘备模型。
                          c.如果1.2号位匹配但3号位不匹配,则只能对刘备关羽使用上述指令,大地图也只显示刘备关羽的模型。
                          关定庄张飞、赵云加入时,我们已经知道张飞自3号位向下论询,赵云自4号位向下论询:如果4号位被占用,1~3位只有1个空闲名额的话,张飞会优先入队,赵云则会入编;如果1~3号位被占用,4号位空闲,赵云会加入到4号位,张飞则会入编;如果1~4号位都被占用,则张飞、赵云一起入编。
                          关羽、周仓加入时,情况略有不同:如果1~2号位只有一个空闲位置,周仓会优先入队;如果周仓加入后,队列满7人,则关羽不会入编,导致游戏卡死。


                          IP属地:湖南来自Android客户端38楼2020-04-28 05:46
                          收起回复
                            第四章出现编所后,我们可以随意让武将入队/离队。
                            武将入队时,位置号的选取原则:从7号位开始向下论询,跳过所有存在武将的位置号(包括存在隐藏武将的位置号)。
                            武将离队时,则会判断队列长度是否等于1。当前队列长度≠1,任意武将(除去不可离队的剧情武将)都可以离队;当前队列长度=1,任何武将不能离队。
                            那么"队列长度"是如何计算的呢?
                            之前已经交代过,地址615~61b表示我方队列7人的状态——80:正常、c0:军师、00:负伤、81~ff:异常、01~7f:异常负伤。异常(负伤)状态的武将,在战斗界面中不能出场。
                            当然,正常通关流程中,武将不会处于异常(负伤)状态。如果连续使用多次64物法,导致其他地址段的数据(例如武将ID)偏移至地址615~61b时,才会出现这些情况。
                            回归正题,地址615~61b每个字节的值——如果小于80(负伤/异常负伤),则队列长度+0;如果大于/等于80(正常/异常/军师),则队列长度+1。正常通关流程中,队列长度不会出现为0的情况,但是通关64物法覆写地址615~61b的数据,我们可以轻易做到。当队列长度为0时,便可以让全部武将离队了。


                            IP属地:湖南来自Android客户端42楼2020-04-28 11:59
                            收起回复
                              拓展一下"向下论询"定理。
                              让我们回忆一下,一开始举的陈登的例子:
                              徐州陈登加入时,默认5号位。当5号位被占用(显示武将 或者 非"刘刘"的隐藏武将均可)时,陈登会遵循向下论询定理,依次查看4~1号位是否被占用。如果有空闲位置,陈登会入队;如果都被占用,陈登则会进入编成所。
                              剧情进入第四章后,我们可以利用向下论询定理制造BUG。
                              老规矩,举个例子:
                              第四章新野收伊籍后,队列7~1号位分别为:关平、周仓、孔明、赵云、张飞、关羽、伊籍。
                              樊城挑战吕布前,我们让伊籍离队。此时队列为:关平、周仓、孔明、赵云、张飞、关羽、空置。
                              挑战吕布后,使用第1次64物法。此时队列为:孔明、赵云、张飞、关羽、:刘刘、吕布、[李傕](负伤武将前加 : ,隐藏武将加[ ])。
                              稍微做下解释,因为伊籍离队,造成了1号位的空置。本质上,此时1号位其实是一个武将状态为"00"(负伤)的隐藏武将刘刘。所以,1号位偏移到3号位变为显示武将时,呈现出来的效果就是一个负伤的刘刘。
                              由于1号位为隐藏武将,此时队列只有6人,还可以通过编成所加入1人。如果直接加入,按照向下论询定理,新入武将会占用3号位,同时形成重影武将。所以我们先将3号位负伤的刘刘离队,然后再加入关平占据3号位,最后加入伊籍占据1号位。


                              IP属地:湖南来自Android客户端46楼2020-04-29 09:57
                              收起回复