93 lines
2.8 KiB
Python
93 lines
2.8 KiB
Python
from mower.utils import config
|
|
from mower.utils.scene import Scene
|
|
from mower.utils.solver import BaseSolver
|
|
|
|
from .utils import edge
|
|
|
|
# 基建
|
|
|
|
|
|
@edge(Scene.INFRA_TODOLIST, Scene.INFRA_MAIN)
|
|
def todo_complete(solver: BaseSolver):
|
|
solver.ctap((1840, 140), 3)
|
|
|
|
|
|
@edge(Scene.INFRA_CONFIDENTIAL, Scene.INFRA_DETAILS)
|
|
@edge(Scene.INFRA_ARRANGE, Scene.INFRA_MAIN)
|
|
@edge(Scene.INFRA_DETAILS, Scene.INFRA_MAIN)
|
|
@edge(Scene.ACTIVITY_ROOM_DETAILS, Scene.INFRA_MAIN)
|
|
@edge(Scene.CTRLCENTER_ASSISTANT, Scene.INFRA_MAIN)
|
|
@edge(Scene.CLUE_DAILY, Scene.INFRA_CONFIDENTIAL)
|
|
@edge(Scene.CLUE_RECEIVE, Scene.INFRA_DETAILS)
|
|
@edge(Scene.CLUE_GIVE_AWAY, Scene.INFRA_CONFIDENTIAL)
|
|
@edge(Scene.CLUE_SUMMARY, Scene.INFRA_CONFIDENTIAL)
|
|
@edge(Scene.CLUE_PLACE, Scene.INFRA_DETAILS)
|
|
@edge(Scene.CLUE_MESSAGE_BOARD, Scene.INFRA_CONFIDENTIAL)
|
|
@edge(Scene.CLUE_MESSAGE_BOARD_FRIEND, Scene.CLUE_MESSAGE_BOARD)
|
|
@edge(Scene.CLUE_ACCESS_RECORD, Scene.CLUE_MESSAGE_BOARD)
|
|
@edge(Scene.ORDER_LIST, Scene.INFRA_DETAILS)
|
|
@edge(Scene.FACTORY_ROOMS, Scene.INFRA_DETAILS)
|
|
@edge(Scene.CHOOSE_PRODUCT, Scene.FACTORY_ROOMS)
|
|
@edge(Scene.DRONE_ACCELERATE, Scene.ORDER_LIST)
|
|
def infra_back(solver: BaseSolver):
|
|
solver.cback(3, id="infra_back")
|
|
|
|
|
|
@edge(Scene.CLUE_RECEIVE, Scene.INFRA_CONFIDENTIAL)
|
|
@edge(Scene.CLUE_PLACE, Scene.INFRA_CONFIDENTIAL)
|
|
def clue_receive_back(solver: BaseSolver):
|
|
solver.tap((960, 1000))
|
|
|
|
|
|
@edge(Scene.RIIC_OPERATOR_SELECT, Scene.INFRA_DETAILS)
|
|
def riic_operator_select(solver: BaseSolver):
|
|
solver.ctap("confirm_blue", 3)
|
|
|
|
|
|
@edge(Scene.INFRA_ARRANGE_CONFIRM, Scene.RIIC_OPERATOR_SELECT)
|
|
def infra_arrange_confirm(solver: BaseSolver):
|
|
solver.tap((1452, 1029))
|
|
|
|
|
|
@edge(Scene.INFRA_ARRANGE_ORDER, Scene.RIIC_OPERATOR_SELECT)
|
|
def infra_arrange_order(solver: BaseSolver):
|
|
solver.tap("arrange_blue_yes", x_rate=0.66)
|
|
|
|
|
|
@edge(Scene.RIIC_REPORT, Scene.CTRLCENTER_ASSISTANT)
|
|
def riic_back(solver: BaseSolver):
|
|
solver.tap((30, 55))
|
|
|
|
|
|
@edge(Scene.CTRLCENTER_ASSISTANT, Scene.RIIC_REPORT)
|
|
def riic(solver: BaseSolver):
|
|
solver.tap("control_central_assistants")
|
|
|
|
|
|
@edge(Scene.INFRA_MAIN, Scene.CTRLCENTER_ASSISTANT)
|
|
def control_central(solver: BaseSolver):
|
|
score, scope = config.recog.match2d("control_central")
|
|
if score >= 0.7:
|
|
solver.ctap(scope, 1, id="enter_room")
|
|
else:
|
|
solver.back()
|
|
|
|
|
|
@edge(Scene.SANITY_CHARGE, Scene.INFRA_MAIN)
|
|
def sanity_charge(solver: BaseSolver):
|
|
solver.tap((1200, 15))
|
|
|
|
|
|
@edge(Scene.SANITY_CHARGE_DIALOG, Scene.SANITY_CHARGE)
|
|
def sanity_charge_dialog(solver: BaseSolver):
|
|
solver.tap((480, 925))
|
|
|
|
|
|
@edge(Scene.SWITCH_ORDER, Scene.ORDER_LIST)
|
|
def switch_order(solver: BaseSolver):
|
|
solver.tap((1900, 1000))
|
|
|
|
|
|
@edge(Scene.PRODUCT_SWITCHING_CONFIRM, Scene.FACTORY_ROOMS)
|
|
def product_switching_confirm(solver: BaseSolver):
|
|
solver.tap("double_confirm/main", x_rate=0)
|