2024-04-04 11:25:28 +08:00
|
|
|
### Docs
|
|
|
|
|
|
|
|
sqrtools 的接口调用指南。
|
|
|
|
|
2024-07-06 20:10:36 +08:00
|
|
|
当前 API 版本:**3**
|
2024-04-04 11:25:28 +08:00
|
|
|
|
|
|
|
------
|
|
|
|
|
|
|
|
#### 在代码中添加 sqrtools
|
|
|
|
|
2024-05-26 14:41:55 +08:00
|
|
|
[sqrtools 网页](https://sqrt2802.pages.dev/sqrtools/)提供的的 pyc 文件可以作为 python 库文件使用。把它和你的代码放在同一个文件夹(也可以是 `sys.path` 中的任意目录)中,并直接在你的代码中导入即可:
|
2024-04-04 11:25:28 +08:00
|
|
|
|
|
|
|
```python
|
2024-04-13 17:23:06 +08:00
|
|
|
import sqrtoolsfile as sqrtools #导入 sqrtoolsfile.pyc 文件
|
2024-04-04 11:25:28 +08:00
|
|
|
my_awesome_name=sqrtools.Name() #创建一个新的空白名字
|
|
|
|
```
|
|
|
|
|
2024-04-13 17:23:06 +08:00
|
|
|
你可以通过 `sqrtools.SQRTOOLS_API_VERSION` 来查看接口版本。本篇文档适用的版本号已在开始处声明,你需要寻找一个与你的 sqrtools 适配的文档。
|
|
|
|
|
2024-04-04 11:25:28 +08:00
|
|
|
sqrtools 的主要功能是名为 `Name` 的 python 类。
|
|
|
|
|
|
|
|
#### Name 类型属性
|
|
|
|
|
|
|
|
`Name` 中包含以下数值:
|
|
|
|
|
2024-07-06 20:15:44 +08:00
|
|
|
- `val`, `namebase` : 使用字符串生成的 int 数组,在其他算号器中可能被称为 `name_base` 等。`val` 长度为 256, `namebase` 长度为 128。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-07-06 20:15:44 +08:00
|
|
|
- `nameprop` : 名字属性,也就是俗称的"八围"。是长度为 8 的 int 数组,从前到后分别为 \[HP, 攻, 防, 速, 敏, 魔, 抗, 智\] 数值。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-07-06 20:15:44 +08:00
|
|
|
- `nameskill` : 存储名字技能的 int 数组,由 40 个形如 (id, 熟练度) 的二元组组成。技能 id 与名称的对应关系如下:
|
2024-04-04 11:25:28 +08:00
|
|
|
|
|
|
|
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 类型方法
|
|
|
|
|
2024-07-06 20:23:15 +08:00
|
|
|
使用 `Name()` 可以创建一个新的空白名字。一个类型为 `Name` 的变量**不可以重复使用**。如果你想对同一个 Name 变量重复载入,需要使用 reusable 模式,文档后面的部分有详细介绍。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-07-06 20:23:15 +08:00
|
|
|
在开始计算前,你需要使用 `check()` 方法将名字以字符串参数的形式传入。此函数会返回一个 int 数值,代表操作的完成状态:
|
2024-06-16 11:05:21 +08:00
|
|
|
|
|
|
|
- 0: 名字成功载入。
|
|
|
|
|
|
|
|
- -1: 输入了空的字符串,载入失败。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-06-16 11:05:21 +08:00
|
|
|
- -2: 无法分割名字与战队名(可能是因为输入了过多的 @ 符号),载入失败。
|
|
|
|
|
|
|
|
- -3: 名字长度过长,载入失败。
|
|
|
|
|
|
|
|
`Name` 类型包含以下用于算号的函数方法:
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-06-16 11:05:21 +08:00
|
|
|
- `load()` : 计算 `val` 和 `namebase`。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-06-16 11:05:21 +08:00
|
|
|
- `calcprops()` : 计算名字属性,执行前需要先使用 `load()`。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-06-16 11:05:21 +08:00
|
|
|
- `calcskill()` : 计算名字技能,执行前需要先使用 `load()`。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
2024-07-06 20:23:15 +08:00
|
|
|
计算完成后,你需要手动调用 Name 变量下相关的属性数组查看结果。
|
2024-04-04 11:25:28 +08:00
|
|
|
|
|
|
|
以下是一个计算名字数值属性的示例程序:
|
|
|
|
|
|
|
|
```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()
|
2024-07-06 20:23:15 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
#### Reusable 模式与名字加载锁
|