文章目录
- 脚本思路
 
 
项目结构:

 由橙华市全自动战斗改写的。大部分代码都不用修改。
金珠脚本money.py
土狼犬图片,区域选择土狼犬。
 战斗废话的像素值,选择右下角一片深绿色。
 战斗画面的像素值,和之前一样,取背景中的点。
from PIL import ImageGrab
from base.cai_yang import *
from base.key_setting import *
from base.script import *
# 图片的采样数据
data_safe = cai_yang(Image.open("安全区.png"), (420, 335, 476, 384), 8)
data_pp = cai_yang(Image.open("没有PP.png"), (607, 827, 757, 914), 16)
data_dog = cai_yang(Image.open("土狼犬.png"), (1276, 286, 1496, 418), 8)
# 战斗画面的关键像素点
pot_1 = ((1447, 889), (72, 152, 120))  # 战斗废话
pot_2 = ((1042, 487), (224, 192, 96))  # 战斗画面
def zhi_liao():
	c.release(ACCELERATE)
	press(DOWN)
	[press(LEFT) for i in [1, 2, 3, 4]]
	c.press(ACCELERATE)
	run(UP, 0.3)
	[press(A) for i in [1, 2, 3, 4]]
	[press(B) for i in [1, 2, 3, 4]]
	run(DOWN, 0.3)
	run(RIGHT, 0.3)
	walk(LEFT)
	run(UP)
def tao_pao():
	press(B)
	press(DOWN, t2=0)
	press(RIGHT, t2=0)
	press(A)
def get_it():
	press(START)
	press(A)
	press(A)
	c.release(ACCELERATE)
	press(DOWN, 0.14, 0.1)
	press(A)
	press(DOWN, 0.14, 0.1)
	press(A)
	c.press(ACCELERATE)
	[press(B) for i in [1, 2, 3, 4]]
if __name__ == '__main__':
	a = Simple_Script(kb.Key.f12, lambda: c.press(ACCELERATE), lambda: c.release(ACCELERATE))
	a.start()
	state_can_attack = False
	state_has_dog = False
	while True:
		if a.state:
			img = ImageGrab.grab()
			a1 = is_same_img(img, data_safe)
			a2 = is_same_img(img, data_pp)
			a3 = is_same_img(img, data_dog)
			p1 = img.getpixel(pot_1[0]) == pot_1[1]
			p2 = img.getpixel(pot_2[0]) == pot_2[1]
			if a1:  # 安全区
				if state_has_dog:  # 取出金珠
					get_it()
					state_has_dog = False
				if state_can_attack:  # 去草丛
					run(RIGHT)
				else:  # 去治疗
					zhi_liao()
					state_can_attack = True
			elif p1:  # 战斗废话
				if a2:  # PP不足
					state_can_attack = False
				press(A)
			elif a3 and state_can_attack:  # 土狼犬
				state_has_dog = True
				press(A)
			elif p2:  # 其他战斗
				tao_pao()
			else:  # 回安全区
				run(LEFT)
脚本思路
是否遇见了土狼犬:
 默认False。
 在安全区时,如果True,取出然后改为False。
 在战斗时,如果遇见了土狼犬,改为True。
如果是战斗废话。点击A键。
 如果是PP不足,改变可战状态为False。
如果是土狼犬。而且可以战斗。点击A键。
 如果不是。逃跑。









![LeetCode[题解] 1261. 在受污染的二叉树中查找元素](https://img-blog.csdnimg.cn/img_convert/9f0b899745d6a3a7cddc13a738e5e4d9.jpeg)









