Skip to content

Commit 5780ef7

Browse files
committed
doc(5.25): update
1 parent 3416671 commit 5780ef7

File tree

2 files changed

+54
-10
lines changed

2 files changed

+54
-10
lines changed

README.md

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,46 @@
1-
新项目:
1+
欢迎大家捧场
22

3-
理论上是支持全平台的,但是我只有win设备
3+
![image-20230526205041711](https://runhey-img-stg1.oss-cn-chengdu.aliyuncs.com/img2/202305262050939.png)
44

5-
打算模仿alas的项目
5+
## 设计思路(其实大部分就是alas的设计)
66

7-
- ui使用这个库[FluentUI for QML](https://github.com/zhuzichu520/FluentUI), 个人发觉alas的设计思路很不错
8-
- 按照alas的部署 更新方式
9-
- ocr使用paddleocr因为cnocr对于python3.10的支持有一些问题
7+
<details>
8+
<summary></summary>
109

10+
- 核心
1111

12+
- 看上图左侧的+号,每一个被称为script实例,可以简单的理解为不同的模拟器配置或者是不同的任务配置,每个实例由一个config.json文件来驱动。config来管理任务的调度,配置任务的不同的参数。
13+
- 这个脚本的目的是实现全程的7x24的接管游戏,去享受生活而不是在阴阳师这里上班,所以我也是有空更新。
14+
- 对于每个任务的执行过程就是比较常规的截图(识别)+控制(点击啥的),在这里会选择和我[早期的设计](https://github.com/runhey/Uowl)一致,设计一个原子化的模块化的配置信息。比如说要识别某个图片会添加一份json数据来设置识图的范围、方式、识别的图片。点击的话也会有一份json数据配置点击的随机概率、范围等等。每一个操作都一份可格式化的配置信息,而不是同alas一样将识别图片和点击一起抽象成一个button。
15+
- 噢对了我在写代码的时候命名上并没有针对oas,因此说你可以fork该项目使用到你的游戏脚本上
1216

13-
- 2023.5.17
17+
- 部署方式:用的是batchfile + python(env+pip) + git
1418

15-
ui库目前还没完善,先做device
19+
- 具体的说就是,需要先下载一个安装包里面包含一个最小python和git环境,运行后下拉仓库,完事后安装依赖,再完事后启动gui。
1620

17-
![image-20230526205041711](https://runhey-img-stg1.oss-cn-chengdu.aliyuncs.com/img2/202305262050939.png)
21+
22+
#### 设计架构
23+
24+
25+
- gui部分
26+
27+
- 用的是这个库[FluentUI for QML ](https://github.com/zhuzichu520/FluentUI).是用的qml来写,我想懂这个语言的人不多吧,跟python通信一个是靠注入上下文,另一个是靠zerorpc。
28+
29+
- 程序入口
30+
31+
- 有两个根目录下的gui.py和script.py。而gui.py会根据配置文件config.json来实例化不同的script,script就是某个具体的脚本过程。
32+
33+
- 进程
34+
35+
- gui启动自带一个进程,每有一个script就会继续多一个进程,单独建一个进程来提供ocr服务。一般用zerorpc来进程通信。
36+
37+
- 运行过程
38+
39+
- gui 按钮点击后就会开始从script上启动服务。script持有一个设备device,一个配置config,一个任务task。这个时候调度器(其实就是config)会更新出running、pending and waiting tasks。选择runing的去执行,任务的执行过程就是一个大的状态机。
40+
41+
#### 模块设计
42+
43+
- config模块,主要是有一个类Config,主要是对配置的文件的接口,以及一些代码中手工配置的参数。(我还没写好从yaml到template.json和从template更新配置)
44+
- device模块,四个方向的功能管理模拟器,管理游戏,截图和控制
45+
46+
</details>

requirements.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,57 @@
88
--trusted-host pypi.tuna.tsinghua.edu.cn
99

1010
adbutils==0.11.0 # via -r requirements-in.txt, uiautomator2
11+
anytree==2.8.0 # via -r requirements-in.txt
1112
apkutils2==1.0.0 # via adbutils
1213
cached-property==1.5.2 # via uiautomator2
1314
certifi==2023.5.7 # via requests
15+
cffi==1.15.1 # via gevent
1416
charset-normalizer==3.1.0 # via requests
1517
cigam==0.0.3 # via apkutils2
1618
colorama==0.4.6 # via logzero
1719
decorator==5.1.1 # via retry
1820
deprecated==1.2.13 # via uiautomator2
1921
deprecation==2.1.0 # via adbutils
2022
filelock==3.12.0 # via uiautomator2
23+
future==0.18.3 # via zerorpc
24+
gevent==22.10.2 # via zerorpc
25+
greenlet==2.0.2 # via gevent
2126
idna==3.4 # via requests
2227
logzero==1.7.0 # via uiautomator2
2328
lxml==4.9.2 # via uiautomator2
2429
markdown-it-py==2.2.0 # via rich
2530
mdurl==0.1.2 # via markdown-it-py
31+
msgpack==1.0.5 # via zerorpc
2632
numpy==1.24.3 # via -r requirements-in.txt, opencv-python
2733
opencv-python==4.7.0.72 # via -r requirements-in.txt
2834
packaging==20.9 # via deprecation, uiautomator2
2935
pillow==9.5.0 # via uiautomator2
3036
progress==1.6 # via uiautomator2
3137
py==1.11.0 # via retry
38+
pycparser==2.21 # via cffi
3239
pyelftools==0.29 # via apkutils2
3340
pygments==2.15.1 # via rich
3441
pyparsing==3.0.9 # via packaging
3542
pyside6==6.4.3 # via -r requirements-in.txt
3643
pyside6-addons==6.4.3 # via pyside6
3744
pyside6-essentials==6.4.3 # via pyside6, pyside6-addons
45+
pywin32==306 # via -r requirements-in.txt
3846
pyyaml==6.0 # via -r requirements-in.txt
47+
pyzmq==25.0.2 # via zerorpc
3948
requests==2.30.0 # via adbutils, uiautomator2
4049
retry==0.9.2 # via adbutils, uiautomator2
4150
rich==13.3.5 # via -r requirements-in.txt
4251
shiboken6==6.4.3 # via pyside6, pyside6-addons, pyside6-essentials
43-
six==1.16.0 # via adbutils, uiautomator2
52+
six==1.16.0 # via adbutils, anytree, uiautomator2
4453
uiautomator2==2.16.17 # via -r requirements-in.txt
4554
urllib3==2.0.2 # via requests
4655
websockets==11.0.3 # via -r requirements-in.txt
4756
whichcraft==0.6.1 # via adbutils, uiautomator2
4857
wrapt==1.15.0 # via deprecated
4958
xmltodict==0.13.0 # via apkutils2
59+
zerorpc==0.6.3 # via -r requirements-in.txt
60+
zope-event==4.6 # via gevent
61+
zope-interface==6.0 # via gevent
62+
63+
# The following packages are considered to be unsafe in a requirements file:
64+
# setuptools

0 commit comments

Comments
 (0)