1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-17 06:25:25 +08:00

Revert "Merge branch 'dev' of https://github.com/LmeSzinc/AzurLaneAutoScript into dev"

This reverts commit bdc5aa0720, reversing
changes made to 6ee7a62edf.
This commit is contained in:
whoamikyo
2020-08-18 20:47:27 -03:00
parent bdc5aa0720
commit ac9303012c
741 changed files with 8380 additions and 18943 deletions

View File

@@ -1,17 +1,17 @@
from module.base.button import Button
from module.base.template import Template
# This file was automatically generated by dev_tools.button_extract.
# Don't modify it manually.
EQUIPMENT_OPEN = Button(area={'cn': (1196, 114, 1263, 181), 'en': (1198, 117, 1266, 183), 'jp': (1196, 114, 1263, 181)}, color={'cn': (119, 161, 213), 'en': (118, 157, 209), 'jp': (119, 161, 213)}, button={'cn': (1196, 114, 1263, 181), 'en': (1198, 117, 1266, 183), 'jp': (1196, 114, 1263, 181)}, file={'cn': './assets/cn/equipment/EQUIPMENT_OPEN.png', 'en': './assets/en/equipment/EQUIPMENT_OPEN.png', 'jp': './assets/jp/equipment/EQUIPMENT_OPEN.png'})
EQUIP_1 = Button(area={'cn': (1218, 249, 1274, 302), 'en': (1217, 281, 1275, 337), 'jp': (1218, 249, 1274, 302)}, color={'cn': (102, 152, 219), 'en': (80, 122, 185), 'jp': (102, 152, 219)}, button={'cn': (1218, 249, 1274, 302), 'en': (1217, 281, 1275, 337), 'jp': (1218, 249, 1274, 302)}, file={'cn': './assets/cn/equipment/EQUIP_1.png', 'en': './assets/en/equipment/EQUIP_1.png', 'jp': './assets/jp/equipment/EQUIP_1.png'})
EQUIP_2 = Button(area={'cn': (1218, 349, 1274, 402), 'en': (1217, 371, 1275, 427), 'jp': (1218, 349, 1274, 402)}, color={'cn': (101, 150, 215), 'en': (79, 121, 184), 'jp': (101, 150, 215)}, button={'cn': (1218, 349, 1274, 402), 'en': (1217, 371, 1275, 427), 'jp': (1218, 349, 1274, 402)}, file={'cn': './assets/cn/equipment/EQUIP_2.png', 'en': './assets/en/equipment/EQUIP_2.png', 'jp': './assets/jp/equipment/EQUIP_2.png'})
EQUIP_3 = Button(area={'cn': (1218, 450, 1274, 503), 'en': (1217, 460, 1275, 517), 'jp': (1218, 450, 1274, 503)}, color={'cn': (98, 145, 211), 'en': (79, 121, 184), 'jp': (98, 145, 211)}, button={'cn': (1218, 450, 1274, 503), 'en': (1217, 460, 1275, 517), 'jp': (1218, 450, 1274, 503)}, file={'cn': './assets/cn/equipment/EQUIP_3.png', 'en': './assets/en/equipment/EQUIP_3.png', 'jp': './assets/jp/equipment/EQUIP_3.png'})
EQUIP_OFF = Button(area={'cn': (933, 548, 1063, 593), 'en': (921, 544, 1051, 588), 'jp': (933, 548, 1063, 593)}, color={'cn': (107, 151, 216), 'en': (97, 145, 203), 'jp': (107, 151, 216)}, button={'cn': (933, 548, 1063, 593), 'en': (921, 544, 1051, 588), 'jp': (933, 548, 1063, 593)}, file={'cn': './assets/cn/equipment/EQUIP_OFF.png', 'en': './assets/en/equipment/EQUIP_OFF.png', 'jp': './assets/jp/equipment/EQUIP_OFF.png'})
FLEET_ENTER = Button(area={'cn': (502, 474, 517, 489), 'en': (502, 474, 517, 489), 'jp': (502, 474, 517, 489)}, color={'cn': (58, 62, 77), 'en': (58, 62, 77), 'jp': (58, 62, 77)}, button={'cn': (502, 474, 517, 489), 'en': (502, 474, 517, 489), 'jp': (502, 474, 517, 489)}, file={'cn': './assets/cn/equipment/FLEET_ENTER.png', 'en': './assets/en/equipment/FLEET_ENTER.png', 'jp': './assets/jp/equipment/FLEET_ENTER.png'})
FLEET_NEXT = Button(area={'cn': (1234, 327, 1254, 356), 'en': (1234, 327, 1254, 356), 'jp': (1234, 327, 1254, 356)}, color={'cn': (72, 93, 125), 'en': (72, 93, 125), 'jp': (72, 93, 125)}, button={'cn': (1234, 327, 1254, 356), 'en': (1234, 327, 1254, 356), 'jp': (1234, 327, 1254, 356)}, file={'cn': './assets/cn/equipment/FLEET_NEXT.png', 'en': './assets/en/equipment/FLEET_NEXT.png', 'jp': './assets/jp/equipment/FLEET_NEXT.png'})
FLEET_PREV = Button(area={'cn': (26, 327, 46, 356), 'en': (26, 327, 46, 356), 'jp': (26, 327, 46, 356)}, color={'cn': (72, 93, 125), 'en': (72, 93, 125), 'jp': (72, 93, 125)}, button={'cn': (26, 327, 46, 356), 'en': (26, 327, 46, 356), 'jp': (26, 327, 46, 356)}, file={'cn': './assets/cn/equipment/FLEET_PREV.png', 'en': './assets/en/equipment/FLEET_PREV.png', 'jp': './assets/jp/equipment/FLEET_PREV.png'})
OCR_FLEET_INDEX = Button(area={'cn': (957, 113, 987, 163), 'en': (957, 113, 987, 163), 'jp': (957, 113, 987, 163)}, color={'cn': (36, 54, 86), 'en': (36, 54, 86), 'jp': (36, 54, 86)}, button={'cn': (957, 113, 987, 163), 'en': (957, 113, 987, 163), 'jp': (957, 113, 987, 163)}, file={'cn': './assets/cn/equipment/OCR_FLEET_INDEX.png', 'en': './assets/en/equipment/OCR_FLEET_INDEX.png', 'jp': './assets/jp/equipment/OCR_FLEET_INDEX.png'})
SWIPE_AREA = Button(area={'cn': (220, 167, 580, 527), 'en': (220, 167, 580, 527), 'jp': (220, 167, 580, 527)}, color={'cn': (165, 172, 194), 'en': (165, 172, 194), 'jp': (165, 172, 194)}, button={'cn': (220, 167, 580, 527), 'en': (220, 167, 580, 527), 'jp': (220, 167, 580, 527)}, file={'cn': './assets/cn/equipment/SWIPE_AREA.png', 'en': './assets/en/equipment/SWIPE_AREA.png', 'jp': './assets/jp/equipment/SWIPE_AREA.png'})
SWIPE_CHECK = Button(area={'cn': (190, 353, 610, 455), 'en': (190, 353, 610, 455), 'jp': (190, 353, 610, 455)}, color={'cn': (171, 180, 198), 'en': (171, 180, 198), 'jp': (171, 180, 198)}, button={'cn': (190, 353, 610, 455), 'en': (190, 353, 610, 455), 'jp': (190, 353, 610, 455)}, file={'cn': './assets/cn/equipment/SWIPE_CHECK.png', 'en': './assets/en/equipment/SWIPE_CHECK.png', 'jp': './assets/jp/equipment/SWIPE_CHECK.png'})
from module.base.button import Button
from module.base.template import Template
# This file is generated by module.dev_tools.asset_extract.
# Don't modified it manually.
EQUIPMENT_OPEN = Button(area={'cn': (1196, 114, 1263, 181), 'en': (1196, 114, 1263, 181), 'jp': (1196, 114, 1263, 181)}, color={'cn': (119, 161, 213), 'en': (119, 161, 213), 'jp': (119, 161, 213)}, button={'cn': (1196, 114, 1263, 181), 'en': (1196, 114, 1263, 181), 'jp': (1196, 114, 1263, 181)}, file={'cn': './assets/cn/equipment/EQUIPMENT_OPEN.png', 'en': './assets/en/equipment/EQUIPMENT_OPEN.png', 'jp': './assets/jp/equipment/EQUIPMENT_OPEN.png'})
EQUIP_1 = Button(area={'cn': (1218, 249, 1274, 302), 'en': (1218, 249, 1274, 302), 'jp': (1218, 249, 1274, 302)}, color={'cn': (102, 152, 219), 'en': (102, 152, 219), 'jp': (102, 152, 219)}, button={'cn': (1218, 249, 1274, 302), 'en': (1218, 249, 1274, 302), 'jp': (1218, 249, 1274, 302)}, file={'cn': './assets/cn/equipment/EQUIP_1.png', 'en': './assets/en/equipment/EQUIP_1.png', 'jp': './assets/jp/equipment/EQUIP_1.png'})
EQUIP_2 = Button(area={'cn': (1218, 349, 1274, 402), 'en': (1218, 349, 1274, 402), 'jp': (1218, 349, 1274, 402)}, color={'cn': (101, 150, 215), 'en': (101, 150, 215), 'jp': (101, 150, 215)}, button={'cn': (1218, 349, 1274, 402), 'en': (1218, 349, 1274, 402), 'jp': (1218, 349, 1274, 402)}, file={'cn': './assets/cn/equipment/EQUIP_2.png', 'en': './assets/en/equipment/EQUIP_2.png', 'jp': './assets/jp/equipment/EQUIP_2.png'})
EQUIP_3 = Button(area={'cn': (1218, 450, 1274, 503), 'en': (1218, 450, 1274, 503), 'jp': (1218, 450, 1274, 503)}, color={'cn': (98, 145, 211), 'en': (98, 145, 211), 'jp': (98, 145, 211)}, button={'cn': (1218, 450, 1274, 503), 'en': (1218, 450, 1274, 503), 'jp': (1218, 450, 1274, 503)}, file={'cn': './assets/cn/equipment/EQUIP_3.png', 'en': './assets/en/equipment/EQUIP_3.png', 'jp': './assets/jp/equipment/EQUIP_3.png'})
EQUIP_OFF = Button(area={'cn': (933, 548, 1063, 593), 'en': (933, 548, 1063, 593), 'jp': (933, 548, 1063, 593)}, color={'cn': (107, 151, 216), 'en': (107, 151, 216), 'jp': (107, 151, 216)}, button={'cn': (933, 548, 1063, 593), 'en': (933, 548, 1063, 593), 'jp': (933, 548, 1063, 593)}, file={'cn': './assets/cn/equipment/EQUIP_OFF.png', 'en': './assets/en/equipment/EQUIP_OFF.png', 'jp': './assets/jp/equipment/EQUIP_OFF.png'})
FLEET_ENTER = Button(area={'cn': (502, 474, 517, 489), 'en': (502, 474, 517, 489), 'jp': (502, 474, 517, 489)}, color={'cn': (58, 62, 77), 'en': (58, 62, 77), 'jp': (58, 62, 77)}, button={'cn': (502, 474, 517, 489), 'en': (502, 474, 517, 489), 'jp': (502, 474, 517, 489)}, file={'cn': './assets/cn/equipment/FLEET_ENTER.png', 'en': './assets/en/equipment/FLEET_ENTER.png', 'jp': './assets/jp/equipment/FLEET_ENTER.png'})
FLEET_NEXT = Button(area={'cn': (1234, 327, 1254, 356), 'en': (1234, 327, 1254, 356), 'jp': (1234, 327, 1254, 356)}, color={'cn': (72, 93, 125), 'en': (72, 93, 125), 'jp': (72, 93, 125)}, button={'cn': (1234, 327, 1254, 356), 'en': (1234, 327, 1254, 356), 'jp': (1234, 327, 1254, 356)}, file={'cn': './assets/cn/equipment/FLEET_NEXT.png', 'en': './assets/en/equipment/FLEET_NEXT.png', 'jp': './assets/jp/equipment/FLEET_NEXT.png'})
FLEET_PREV = Button(area={'cn': (26, 327, 46, 356), 'en': (26, 327, 46, 356), 'jp': (26, 327, 46, 356)}, color={'cn': (72, 93, 125), 'en': (72, 93, 125), 'jp': (72, 93, 125)}, button={'cn': (26, 327, 46, 356), 'en': (26, 327, 46, 356), 'jp': (26, 327, 46, 356)}, file={'cn': './assets/cn/equipment/FLEET_PREV.png', 'en': './assets/en/equipment/FLEET_PREV.png', 'jp': './assets/jp/equipment/FLEET_PREV.png'})
OCR_FLEET_INDEX = Button(area={'cn': (958, 124, 984, 155), 'en': (958, 124, 984, 155), 'jp': (958, 124, 984, 155)}, color={'cn': (46, 72, 117), 'en': (46, 72, 117), 'jp': (46, 72, 117)}, button={'cn': (958, 124, 984, 155), 'en': (958, 124, 984, 155), 'jp': (958, 124, 984, 155)}, file={'cn': './assets/cn/equipment/OCR_FLEET_INDEX.png', 'en': './assets/en/equipment/OCR_FLEET_INDEX.png', 'jp': './assets/jp/equipment/OCR_FLEET_INDEX.png'})
SWIPE_AREA = Button(area={'cn': (220, 167, 580, 527), 'en': (220, 167, 580, 527), 'jp': (220, 167, 580, 527)}, color={'cn': (165, 172, 194), 'en': (165, 172, 194), 'jp': (165, 172, 194)}, button={'cn': (220, 167, 580, 527), 'en': (220, 167, 580, 527), 'jp': (220, 167, 580, 527)}, file={'cn': './assets/cn/equipment/SWIPE_AREA.png', 'en': './assets/en/equipment/SWIPE_AREA.png', 'jp': './assets/jp/equipment/SWIPE_AREA.png'})
SWIPE_CHECK = Button(area={'cn': (190, 353, 610, 455), 'en': (190, 353, 610, 455), 'jp': (190, 353, 610, 455)}, color={'cn': (171, 180, 198), 'en': (171, 180, 198), 'jp': (171, 180, 198)}, button={'cn': (190, 353, 610, 455), 'en': (190, 353, 610, 455), 'jp': (190, 353, 610, 455)}, file={'cn': './assets/cn/equipment/SWIPE_CHECK.png', 'en': './assets/en/equipment/SWIPE_CHECK.png', 'jp': './assets/jp/equipment/SWIPE_CHECK.png'})

View File

@@ -3,7 +3,7 @@ from module.base.timer import Timer
from module.equipment.assets import *
from module.handler.info_handler import InfoHandler
from module.logger import logger
from module.ui.ui import UI
from module.ui.assets import BACK_ARROW
from module.base.utils import color_similarity_2d
import numpy as np
@@ -13,40 +13,33 @@ DETAIL_SIDEBAR = ButtonGrid(
origin=(21, 118), delta=(0, 94.5), button_shape=(60, 75), grid_shape=(1, 5), name='DETAIL_SIDEBAR')
class Equipment(UI):
class Equipment(InfoHandler):
equipment_has_take_on = False
def _view_swipe(self, distance, check_button=EQUIPMENT_OPEN):
swipe_count = 0
swipe_timer = Timer(5, count=10)
self.ensure_no_info_bar()
swipe_timer = Timer(3, count=5)
SWIPE_CHECK.load_color(self.device.image)
while 1:
if not swipe_timer.started() or swipe_timer.reached():
swipe_timer.reset()
self.device.swipe(vector=(distance, 0), box=SWIPE_AREA.area, random_range=SWIPE_RANDOM_RANGE,
padding=0, duration=(0.1, 0.12), name='EQUIP_SWIPE')
swipe_count += 1
padding=0, duration=(0.1, 0.12))
self.device.screenshot()
if SWIPE_CHECK.match(self.device.image):
if swipe_count > 1:
logger.warning('Same ship on multiple swipes')
return False
continue
if self.appear(check_button, offset=(30, 30)) and not SWIPE_CHECK.match(self.device.image):
logger.info('New ship detected on swipe')
return True
break
def equip_view_next(self, check_button=EQUIPMENT_OPEN):
return self._view_swipe(distance=-SWIPE_DISTANCE, check_button=check_button)
self._view_swipe(distance=-SWIPE_DISTANCE, check_button=check_button)
def equip_view_prev(self, check_button=EQUIPMENT_OPEN):
return self._view_swipe(distance=SWIPE_DISTANCE, check_button=check_button)
self._view_swipe(distance=SWIPE_DISTANCE, check_button=check_button)
def equip_enter(self, click_button, check_button=EQUIPMENT_OPEN, long_click=True):
enter_timer = Timer(10)
enter_timer = Timer(5)
while 1:
if enter_timer.reached():
@@ -62,6 +55,23 @@ class Equipment(UI):
if self.appear(check_button):
break
def equip_quit(self, out):
quit_timer = Timer(3)
while 1:
self.device.screenshot()
# End
if self.appear(out):
break
if quit_timer.reached() and self.appear(BACK_ARROW):
# self.device.sleep(1)
self.device.click(BACK_ARROW)
self.device.sleep((0.2, 0.3))
quit_timer.reset()
continue
def _equip_sidebar_click(self, index):
"""
Args:
@@ -75,10 +85,6 @@ class Equipment(UI):
Returns:
bool: if changed.
"""
if index <= 0 or index > 5:
logger.warning(f'Sidebar index cannot be clicked, {index}, limit to 1 through 5 only')
return False
current = 0
total = 0
@@ -100,7 +106,6 @@ class Equipment(UI):
current = 6 - current
else:
logger.warning('Ship details sidebar total count error.')
return True
logger.attr('Detail_sidebar', f'{current}/{total}')
if current == index:
@@ -118,17 +123,7 @@ class Equipment(UI):
3 for limit break.
2 for gem / equipment.
1 for detail.
Returns:
bool: whether sidebar could be ensured
at most 3 attempts are made before
return False otherwise True
"""
if index <= 0 or index > 5:
logger.warning(f'Sidebar index cannot be ensured, {index}, limit 1 through 5 only')
return False
counter = 0
while 1:
if skip_first_screenshot:
skip_first_screenshot = False
@@ -136,14 +131,10 @@ class Equipment(UI):
self.device.screenshot()
if self._equip_sidebar_click(index):
if counter > 2:
logger.warning('Sidebar could not be ensured')
return False
counter += 1
self.device.sleep((0.3, 0.5))
continue
else:
return True
break
def _equip_take_off_one(self):
bar_timer = Timer(5)
@@ -188,7 +179,7 @@ class Equipment(UI):
else:
self._equip_take_off_one()
self.ui_back(out)
self.equip_quit(out)
self.equipment_has_take_on = False
def _equip_take_on_one(self, index):
@@ -238,5 +229,5 @@ class Equipment(UI):
else:
self._equip_take_on_one(index=index)
self.ui_back(out)
self.equip_quit(out)
self.equipment_has_take_on = True

View File

@@ -1,13 +1,13 @@
from module.base.ocr import Digit
from module.equipment.assets import *
from module.equipment.equipment import Equipment
from module.ocr.ocr import Digit
from module.ui.assets import FLEET_CHECK
from module.ui.ui import page_fleet
from module.ui.ui import UI, page_fleet
OCR_FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), threshold=128, alphabet='123456')
OCR_FLEET_INDEX = Digit(OCR_FLEET_INDEX, letter=(90, 154, 255), back=(24, 32, 49), length=1, white_list='123456')
class DailyEquipment(Equipment):
class DailyEquipment(UI, Equipment):
equipment_has_take_on = False
def equipment_take_on(self):