Upd(ResearchInspect): 优化识别过程

This commit is contained in:
W1NDes 2025-07-19 22:44:58 +08:00
parent 61b5a38887
commit 5c56061af4
3 changed files with 21 additions and 8 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -12,3 +12,4 @@ SHIP_EXPERIENCE_FINISHED_1 = Button(area={'cn': (944, 141, 953, 148), 'en': (944
SHIP_EXPERIENCE_FINISHED_2 = Button(area={'cn': (944, 326, 952, 334), 'en': (944, 326, 952, 334), 'jp': (944, 326, 952, 334), 'tw': (944, 326, 952, 334)}, color={'cn': (191, 104, 96), 'en': (191, 104, 96), 'jp': (191, 104, 96), 'tw': (191, 104, 96)}, button={'cn': (944, 326, 952, 334), 'en': (944, 326, 952, 334), 'jp': (944, 326, 952, 334), 'tw': (944, 326, 952, 334)}, file={'cn': './assets/cn/regular_inspect/SHIP_EXPERIENCE_FINISHED_2.png', 'en': './assets/cn/regular_inspect/SHIP_EXPERIENCE_FINISHED_2.png', 'jp': './assets/cn/regular_inspect/SHIP_EXPERIENCE_FINISHED_2.png', 'tw': './assets/cn/regular_inspect/SHIP_EXPERIENCE_FINISHED_2.png'})
SHIP_EXPERIENCE_PERCENT_1 = Button(area={'cn': (949, 182, 1271, 190), 'en': (949, 182, 1271, 190), 'jp': (949, 182, 1271, 190), 'tw': (949, 182, 1271, 190)}, color={'cn': (165, 158, 89), 'en': (165, 158, 89), 'jp': (165, 158, 89), 'tw': (165, 158, 89)}, button={'cn': (949, 182, 1271, 190), 'en': (949, 182, 1271, 190), 'jp': (949, 182, 1271, 190), 'tw': (949, 182, 1271, 190)}, file={'cn': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_1.png', 'en': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_1.png', 'jp': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_1.png', 'tw': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_1.png'})
SHIP_EXPERIENCE_PERCENT_2 = Button(area={'cn': (949, 372, 1271, 380), 'en': (949, 372, 1271, 380), 'jp': (949, 372, 1271, 380), 'tw': (949, 372, 1271, 380)}, color={'cn': (165, 158, 89), 'en': (165, 158, 89), 'jp': (165, 158, 89), 'tw': (165, 158, 89)}, button={'cn': (949, 372, 1271, 380), 'en': (949, 372, 1271, 380), 'jp': (949, 372, 1271, 380), 'tw': (949, 372, 1271, 380)}, file={'cn': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_2.png', 'en': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_2.png', 'jp': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_2.png', 'tw': './assets/cn/regular_inspect/SHIP_EXPERIENCE_PERCENT_2.png'})
SHIP_LAUNCHED = Button(area={'cn': (949, 135, 1024, 175), 'en': (949, 135, 1024, 175), 'jp': (949, 135, 1024, 175), 'tw': (949, 135, 1024, 175)}, color={'cn': (117, 126, 150), 'en': (117, 126, 150), 'jp': (117, 126, 150), 'tw': (117, 126, 150)}, button={'cn': (949, 135, 1024, 175), 'en': (949, 135, 1024, 175), 'jp': (949, 135, 1024, 175), 'tw': (949, 135, 1024, 175)}, file={'cn': './assets/cn/regular_inspect/SHIP_LAUNCHED.png', 'en': './assets/cn/regular_inspect/SHIP_LAUNCHED.png', 'jp': './assets/cn/regular_inspect/SHIP_LAUNCHED.png', 'tw': './assets/cn/regular_inspect/SHIP_LAUNCHED.png'})

View File

@ -1,5 +1,6 @@
import sys
sys.path.append(r'C:/Users/W1NDe/Documents/GitHub/M-AzurLaneAutoScript')
from module.log_res.log_res import LogRes
from module.base.utils import color_bar_percentage
from module.config.deep import deep_get
from module.logger import logger
@ -7,7 +8,7 @@ from module.base.base import ModuleBase
from module.ui.ui import UI
from module.ui.page import page_shipyard
from module.shipyard.shipyard_reward import RewardShipyard
from module.regular_inspect.assets import (SHIP_EXPERIENCE_PERCENT_1, SHIP_EXPERIENCE_PERCENT_2,
from module.regular_inspect.assets import (SHIP_LAUNCHED, SHIP_EXPERIENCE_PERCENT_1, SHIP_EXPERIENCE_PERCENT_2,
SHIP_EXPERIENCE_FINISHED_1, SHIP_EXPERIENCE_FINISHED_2,
SHIP_EXPERIENCE_COMPLETE_1, SHIP_EXPERIENCE_COMPLETE_2,
SHIP_EXPERIENCE_COMMIT_1, SHIP_EXPERIENCE_COMMIT_2)
@ -25,6 +26,8 @@ class ExpFinished(Exception):
class ExpNotFinished(Exception):
...
class ShipLaunched(Exception):
...
class ResearchInspect(UI, ModuleBase):
# def _DisableAllResearchFarmTask(self):
@ -55,8 +58,12 @@ class ResearchInspect(UI, ModuleBase):
def _IsSingleFinished(self, Index):
self._Override(Index)
self.device.screenshot()
if self.appear(SHIP_LAUNCHED,offset=(10,10)):
logger.info(f"the ship has already launched")
raise ShipLaunched
if self.appear(self.SHIP_EXPERIENCE_COMPLETE,offset=(10,15)):
logger.info(f"ship's exp {Index} has completed")
logger.info(f"ship's exp {Index} has already completed")
raise ExpHasFinished
CurrentPercent = color_bar_percentage(self.device.image, self.SHIP_EXPERIENCE_PERCENT.area, prev_color=(255, 239, 82))
@ -65,12 +72,9 @@ class ResearchInspect(UI, ModuleBase):
self.ui_click(self.SHIP_EXPERIENCE_FINISHED, check_button=self.SHIP_EXPERIENCE_COMMIT)
self.device.sleep(0.5)
self.device.click(self.SHIP_EXPERIENCE_COMMIT)
logger.info(f"ship's exp {Index} has completed")
logger.info(f"ship's exp {Index} completed")
raise ExpFinished
self.config.modified["Dashboard.ResearchPercent.Value"] = int((Index-1+CurrentPercent) * 100)
self.config.modified["Dashboard.ResearchPercent.Record"] = datetime.now().replace(microsecond=0)
LogRes(self.config).ResearchPercent = int((Index-1+CurrentPercent) * 100)
logger.info(f"ship's exp {Index} not finished,now {(Index-1+CurrentPercent)*100:.2f}%")
raise ExpNotFinished
@ -89,21 +93,29 @@ class ResearchInspect(UI, ModuleBase):
try:
self._IsSingleFinished(1)
except ExpHasFinished:
LogRes(self.config).ResearchPercent =100
pass
except ExpFinished:
self._Notify(1)
LogRes(self.config).ResearchPercent =100
return
except ExpNotFinished:
return
except ShipLaunched:
LogRes(self.config).ResearchPercent =999
return
try:
self._IsSingleFinished(2)
except (ExpHasFinished, ExpFinished):
# self._DisableAllResearchFarmTask()
self._Notify(2)
LogRes(self.config).ResearchPercent =200
except ExpNotFinished:
return
except ShipLaunched:
LogRes(self.config).ResearchPercent =999
return
def run(self):
self.config.task_stop()