MCPcopy
hub / github.com/CHNZYX/Auto_Simulated_Universe / main

Function main

align_angle.py:24–75  ·  view source on GitHub ↗
(cnt=10, safe=0, ang=[1,1,3], su=None)

Source from the content-addressed store, hash-verified

22# 不同电脑鼠标移动速度、放缩比、分辨率等不同,因此需要校准
23# 基本逻辑:每次转60度,然后计算实际转了几度,计算出误差比
24def main(cnt=10, safe=0, ang=[1,1,3], su=None):
25 if su is None or 'Diver' in su.__class__.__name__:
26 from utils.diver.config import config
27 else:
28 from utils.simul.config import config
29 if float(config.angle)>2 and len(ang)<3 and su is not None:
30 su.multi = config.multi
31 return
32 log.info("开始校准")
33 if su is None:
34 from utils.simul.utils import UniverseUtils
35 su = UniverseUtils()
36 su.multi = 1
37 init_ang = get_angle(su, safe)
38 lst_ang = init_ang
39 for i in ang:
40 if lst_ang != init_ang and i==1:
41 continue
42 ang_list = []
43 for j in range(i):
44 su.mouse_move(60, fine=3 // i)
45 time.sleep(0.2)
46 now_ang = get_angle(su, safe)
47 sub = lst_ang - now_ang
48 while sub < 0:
49 sub += 360
50 ang_list.append(sub)
51 lst_ang = now_ang
52 ang_list = np.array(ang_list)
53 # 十/3次转身的角度
54 print(ang_list)
55 ax = 0
56 ay = 0
57 for j in ang_list:
58 if abs(j - np.median(ang_list)) <= 3:
59 ax += 60
60 ay += j
61 su.multi *= ax / ay
62 su.multi += 1e-9
63 try:
64 if not abs(su.multi) <= 2:
65 su.multi = 1
66 except:
67 su.multi = 1
68 config.angle = str(su.multi+len(ang)-1)
69 config.save()
70 if su is None:
71 from utils.simul.config import config
72 config.angle = str(su.multi+len(ang)-1)
73 config.save()
74 log.info("校准完成")
75 return 1
76
77
78if __name__ == "__main__":

Callers 1

align_angle.pyFile · 0.70

Calls 5

mouse_moveMethod · 0.95
UniverseUtilsClass · 0.90
get_angleFunction · 0.85
sleepMethod · 0.80
saveMethod · 0.45

Tested by

no test coverage detected