Dota2自走棋的钓鱼和孵蛋概率
菜鸡骑士,经常钓鱼孵蛋把自己搞崩,所以研究了一下相关机制,分享给感兴趣的同学
一、说明
因为Dota2游廊的机制,实际上所有游廊内的游戏都是开源的,感兴趣可以去拆包看代码。拆包所需工具 gcfscape,主规则文件位置 /scripts/vscripts/addon_game_mode.lua
自走棋代码的一个主文件37000行,不太好读,而且我的编程能力是纯业余水平,难免有错误,如果有大佬看出来哪里有问题请指正
二、钓鱼的概率
单猫钓同种族,和双猫钓同名猫,是两个独立的事件,同时生效
单猫的基础成功率7%,受幸运吊坠影响,每一个幸运吊坠增加50%概率(7%*150%=10.5%的意思,不是加50个百分点,后文的计算都类似)。多个幸运吊坠可以额外叠加。另外有连续钓不到鱼的“防非”机制补偿(后文详述)
双猫的基础成功率10%,不受幸运吊坠影响,不受防非机制影响
防非机制说明:
每回合钓鱼成功率会乘上一个系数,默认值是 1.1 ^ -4 = 0.68,所以钓鱼的第一回合的成功率只有4%( 7%*0.68 = 4.8%,因为实际随机生成的是整数,成功率要取整)
之后连续多一个回合钓不到鱼,成功率加10%。(4.8%、5.3%、5.8%、6.4%、7%……)
所以如果你是天命非洲人,连续钓32回合不成,第33回合的成功率(7%*1.1^(-4+32)=100.9%)已经突破100%,必成(不考虑幸运吊坠的额外buff)
一旦钓鱼成功,防非系数恢复初始值
根据模拟结果,平均需要10.4回合钓上一只鱼,大部分需要10-15回合钓到



三、孵蛋的概率
蛋越大越好孵,1级-8级,孵化成功率分别为49%, 51%, 53%, 55%, 57%, 59%, 61%, 63%
孵蛋成功需要卡池里有足够的棋子,孵蛋的过程中,会占用卡池,开蛋会返还卡池(比如你孵到8/9,就是在卡池里拿走了8张,开了蛋拿两星卡,就会还给卡池5张)
把棋子放进蛋的瞬间,会孵一次;假设是第10波的圣物,第11回合不孵,后续12-20回合开始时孵1次。所以一共10次孵蛋的机会,如果放1星追3星,只有两次臭蛋的机会
一次圣物追梦成功的期望:数学不好不会算,所以写代码模拟的,孵了一亿次的结果
放1星,追3星:成功率10.7%,大部分情况下,会停在6-7
放2星,追3星:成功率57.3%
