本计算器是在@SKOSKX版基础上制作的魔改版。相较于原版,有以下特性:
计算1号玩家,PE(存档编号为13)在种子114514下2021-2030旗的出怪:
结果如下:
计算节操掉尽的1号玩家PE从第3面旗到第16面旗均出扶梯且不出车丑红的种子:
作出如下设置后依次点击“加入”和“运行计算”,稍等片刻即可得出结果:
另一个例子:
计算节操掉尽的2号玩家PE 3-4F 出丑炸荷叶,5-10F出梯不出车丑,11-12F出车碾盆的种子:
输入以上信息后点击“加入”
如法炮制,最终输入完成的示意:
运行计算的结果:
第几个创建的用户就是几,以本人的游戏举例:
正常情况下,DE,NE,PE,FE,RE分别为11,12,13,14,15
如果使用修改器改变了场景,存档编号以修改前的场景(也是右下角显示的场景)为准
但游戏场景以修改后的场景为准
现在修改为0x12,效果如图。与模式一预测结果相同。
该程序基于python3.8&pyqt5开发,使用qt_material作为皮肤。其中cpu密集计算部分(模式2)使用c++&pybind11多线程编写充分利用cpu多核资源。该程序较初版程序速度快500~1000倍左右,使得在int32范围内短时间穷举全部种子成为现实。
该模块必须在python3.8下使用。在其他版本下使用请自行编译。
appear(uid:int, mode:int, scene:str, level:int, seed:int)
用于获取在当前波数下的出怪类型,返回值为list。requestToSeed(uid:int, mode:int, scene:str, level_beginning:int, level_ending:int, seed:int)
用于获取指定条件下的种子。seed:int
用于获取当前计算到的种子。在seed小于0时表示没有找到合适的种子。stopThread:bool
用于中断计算线程。calc(idNeeded:list[list], idRefused:list[list]):int
两个参数均为二维列表,每个元素为每波要求的出怪类型列表(空列表为无要求)。计算时会堵塞线程,为获取实时进度请使用多线程。该模块必须在python3.8下使用。在其他版本下使用请自行编译。
seedInject()
初始化时尝试获取查找一次游戏。Result
NotFound
没有找到游戏。WrongVersion
不支持的游戏版本。OK
成功找到游戏。OpenError
游戏进程打开错误。findResult:Result
在当前状态下的查找游戏状态,Result枚举类型。
getRandomSeed():int
获取当前游戏存档种子。setRandomSeed(seed:int)
设置当前游戏存档种子。internalSpawn()
刷新游戏准备时预览。