menghuanzhushou/zhuogui.py
2025-03-28 17:41:27 +08:00

199 lines
6.5 KiB
Python

import time
import random
import threading
from . import common
from . import config
from . import lingqushuangbei
from . import duiwu
# 导入系统资源模块
from ascript.android.system import R
# 导入动作模块
from ascript.android import action
# 导入图色检索模块
from ascript.android.screen import FindImages
from ascript.android.screen import FindColors
# 文字识别
from ascript.android.screen import Ocr
def zhuogui():
global battle_count # 声明全局变量
# 开始时检测一次双倍点数
lingqushuangbei.lingqushuangbei()
if common.shuangbei is False:
print("双倍点数不足,停止捉鬼任务")
return
print("开始捉鬼")
# 先执行退出队伍
# duiwu.tuichuzudui()
# 启动战斗状态监控定时任务
common.start_battle_monitor_timer()
while True:
if common.zhuoguiisover is True or common.battle_count >= config.zhuoguicishu:
print("捉鬼完成,退出捉鬼任务")
common.stop_battle_monitor_timer()
duiwu.tuichuzudui()
print("判断状态1")
while True:
if common.isfire():
print("----------战斗中----------")
sleep(60)
continue
else:
break
lingqushuangbei.dongjieshuangbei()
return
if common.shuangbei is False:
print("双倍点数不足,停止捉鬼任务")
common.stop_battle_monitor_timer()
return
print(f"战斗次数:", common.battle_count, "双倍点数:",
lingqushuangbei.shuangbeidianshu - (common.battle_count * 4))
# 检测双倍点数
if lingqushuangbei.shuangbeidianshu < common.battle_count * 4:
print("双倍点数不足,停止捉鬼任务")
common.zhuoguiisover = True
common.stop_battle_monitor_timer()
return
res_zdsb = common.zhaotu("战斗失败.png")
if res_zdsb is not None:
print("找到战斗失败")
common.findandclick(res_zdsb)
sleep(1)
duiwu.tuichuzudui()
continue
# 检查战斗状态
if common.isfire():
print("----------战斗中----------")
sleep(60)
continue
sleep(10)
print("判断状态1")
if common.isfire():
print("----------战斗中----------")
sleep(60)
continue
sleep(10)
print("判断状态2")
if common.isfire():
print("----------再次判断战斗中----------")
sleep(60)
continue
res_huodong = common.huodong()
if res_huodong:
sleep(1)
res_gui = common.zhaorenwu("鬼图标2.png")
if res_gui is None:
print("未找到目标图片:鬼图标.png")
# 翻页
common.closeAllbtn()
continue
else:
sleep(1)
res_canjia = common.zhaocanjia_text(res_gui)
res_wancheng = common.zhaowancheng(res_gui)
if res_wancheng is not None:
print("捉鬼任务完成,退出队伍")
common.closeAllbtn()
sleep(2)
duiwu.tuichuzudui()
common.zhuoguiisover = True
common.stop_battle_monitor_timer()
return
if res_canjia is None:
print("未找到目标图片:参加.png")
if common.isfire():
print("正在战斗,等待战斗完成")
sleep(60)
continue
else:
print("异常情况")
common.closeAllbtn()
continue
else:
sleep(1)
print("点击参加")
common.findandclick(res_canjia)
sleep(1)
res_zdpp = common.zhaotu("自动匹配.png")
res_qxpp = common.zhaotu("取消匹配.png")
if res_qxpp is not None:
print("正在匹配,等待匹配完成")
sleep(20)
common.closeAllbtn()
continue
if res_zdpp is None:
print("未找到目标图片:自动匹配.png")
print("判断状态3")
sleep(10)
if common.isfire():
print("1战斗中-等待战斗结束")
sleep(60)
continue
else:
print("判断状态4")
sleep(10)
if common.isfire():
print("2战斗中-等待战斗结束")
sleep(60)
continue
else:
print("点了参加,也没自动匹配,也没在战斗中-退出队伍")
duiwu.tuichuzudui()
print("退出组队后,重新捉鬼")
else:
common.findandclick(res_zdpp)
print("---------捉鬼开始了---------")
common.closeAllbtn()
sleep(2)
common.closeAllbtn()
sleep(60)
# 检查战斗状态
if common.isfire():
print("----------战斗中----------")
sleep(60)
# 检测双倍点数
if lingqushuangbei.shuangbeidianshu < common.battle_count * 4:
print("双倍点数不足,停止捉鬼任务")
common.zhuoguiisover = True
common.stop_battle_monitor_timer()
return
else:
print("未进入战斗,重新开始捉鬼任务")
continue
sleep(1)
def sleep(num):
time.sleep(num)