Skip to main content

A program used to calculate specific pvz spawn seed.

Project description

出怪计算器


前言

本计算器是在@SKOSKX版基础上制作的魔改版。相较于原版,有以下特性:

  1. 更更更更更高的效率(高了多少请自行体会)
  2. 将原模式1与模式3合并为新模式1,将原模式2与模式4合并为新模式2,原模式5有朝一日不咕的话……(
  3. 加了gui(废话
  4. 如果觉得该程序不错,不如star一个吧!

模式1使用示例

计算1号玩家,PE(存档编号为13)在种子114514下2021-2030旗的出怪:

结果如下:

模式2使用示例

计算节操掉尽的1号玩家PE从第3面旗到第16面旗均出扶梯且不出车丑红的种子:

作出如下设置后依次点击“加入”和“运行计算”,稍等片刻即可得出结果:

另一个例子:

计算节操掉尽的2号玩家PE 3-4F 出丑炸荷叶,5-10F出梯不出车丑,11-12F出车碾盆的种子:

输入以上信息后点击“加入”

如法炮制,最终输入完成的示意:

运行计算的结果:

关于参数的一些解释

用户编号

第几个创建的用户就是几,以本人的游戏举例:

存档编号

正常情况下,DE,NE,PE,FE,RE分别为11,12,13,14,15

如果使用修改器改变了场景,存档编号以修改前的场景(也是右下角显示的场景)为准

但游戏场景以修改后的场景为准

种子如何查看、修改?

  1. 在启动窗口点击修改种子按钮。窗口启动时会自动查找游戏并获取存档出怪种子,若游戏未启动则会视具体问题在状态栏显示。也可以在游戏启动后点击查找游戏获取当前种子手动查找。
  2. 如截图所示,当前为种子0x11在泳池无尽3-4波下的预览。利用模式一进行检验。

现在修改为0x12,效果如图。与模式一预测结果相同。


开发者文档

总述

​ 该程序基于python3.8&pyqt5开发,使用qt_material作为皮肤。其中cpu密集计算部分(模式2)使用c++&pybind11多线程编写充分利用cpu多核资源。该程序较初版程序速度快500~1000倍左右,使得在int32范围内短时间穷举全部种子成为现实。

  • ​ seedFinder模块由@SKOSKX版c++重写为多线程程序而来。
  • ​ asmInject模块由@pvztools的部分代码改写而来,并且重写为64位。

seedFinder模块

**该模块必须在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**两个参数均为二维列表,每个元素为每波要求的出怪类型列表(空列表为无要求)。计算时会堵塞线程,为获取实时进度请使用多线程。

asmInject模块

**该模块必须在python3.8下使用。**在其他版本下使用请自行编译。

    • **seedInject()**初始化时尝试获取查找一次游戏。
  • 类属性
    • Result
      • **NotFound**没有找到游戏。
      • **WrongVersion**不支持的游戏版本。
      • **OK**成功找到游戏。
      • **OpenError**游戏进程打开错误。
    • **findResult:Result**在当前状态下的查找游戏状态,Result枚举类型。
  • 类方法
    • **getRandomSeed():int**获取当前游戏存档种子。

    • **setRandomSeed(seed:int)**设置当前游戏存档种子。

    • **internalSpawn()**刷新游戏准备时预览。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

zombie_calculator-0.0.4.3-py3-none-any.whl (1.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page