### Docs sqrtools 的接口调用指南。 当前 API 版本:**1** ------ #### 在代码中添加 sqrtools [sqrtools 网页](https://sqrt2802.pages.dev/sqrtools/)提供的的 pyc 文件可以作为 python 库文件使用。把它和你的代码放在同一个文件夹(也可以是 `sys.path` 中的任意目录)中,并直接在你的代码中导入即可: ```python import sqrtoolsfile as sqrtools #导入 sqrtoolsfile.pyc 文件 my_awesome_name=sqrtools.Name() #创建一个新的空白名字 ``` 你可以通过 `sqrtools.SQRTOOLS_API_VERSION` 来查看接口版本。本篇文档适用的版本号已在开始处声明,你需要寻找一个与你的 sqrtools 适配的文档。 sqrtools 的主要功能是名为 `Name` 的 python 类。 #### Name 类型属性 `Name` 中包含以下数值: - `namestr`, `teamstr`, `namelen`, `teamlen` : 编码存储名字和战队名字符串信息的数组,不建议手动调用。 - `val`, `namebase` : 使用字符串生成的 hash-like 数组,在其他算号器中可能被称为 `name_base` 等。`val` 长度为 256,`namebase` 长度为 128。 - `nameprop` : 名字属性,也就是俗称的"八围"。是长度为 8 的数组,从前到后分别为 \[攻, 防, 速, 敏, 魔, 抗, 智, HP\] 数值。 - `sklid`, `sklfreq` : 名字技能。`sklid` 与 `sklfreq` 一一对应,分别表示技能的名称与熟练度。技能 id 与名称的对应关系如下: id|0|1|2|3|4|5|6|7|8|9| :-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-: 技能|火球术|冰冻术|雷击术|地裂术|吸血攻击|投毒|连击|会心一击|瘟疫|生命之轮 **id**|**10**|**11**|**12**|**13**|**14**|**15**|**16**|**17**|**18**|**19** 技能|狂暴术|魅惑|加速术|减速术|诅咒|治愈魔法|苏生术|净化|铁壁|蓄力 **id**|**20**|**21**|**22**|**23**|**24**|**25**|**26**|**27**|**28**|**29** 技能|聚气|潜行|血祭|分身|幻术|防御|守护|伤害反弹|护身符|护盾 **id**|**30**|**31**|**32**|**33**|**34**|**35**|**36**|**37**|**38**|**39**| 技能|反击|吞噬|召唤亡灵|垂死抗争|隐匿|(空技能)|(空技能)|(空技能)|(空技能)|(空技能) #### Name 类型方法 使用 `Name()` 可以创建一个新的空白名字。一个 `Name` 类型理论上可以多次使用,但我们不推荐这样做。 `Name` 类型包含以下用于算号的函数方法: - `check(namein)` : 载入字符串 `namein`。如果报错,会自动用 `print()` 输出错误信息。 - `load()` : 计算 `val` 和 `namebase`。在执行函数前,需要先使用 `check()` 载入。 - `calcprops()` : 计算名字属性。在执行函数前,需要先使用 `check()` 和 `load()` 载入。 - `calcskill()` : 计算名字技能。在执行函数前,需要先使用 `check()` 和 `load()` 载入。 需要注意的是,以上函数均不会返回任何信息。计算完成后,你需要手动调用相关的属性变量查看结果。 以下是一个计算名字数值属性的示例程序: ```python import sqrtools name=sqrtools.Name() name.check('1') name.load() name.calcprops() print(name.nameprop[7],end=' ') #HP for i in range(7): #七围 print(name.nameprop[i],end=' ') print() ```