mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-19 14:13:34 +08:00
每艘 cv 用一个单独的 template
改变了 retirement 的写法
This commit is contained in:
@@ -33,10 +33,6 @@ SORT_ASC = Button(area={'cn': (1014, 22, 1019, 26), 'en': (1014, 22, 1019, 26),
|
||||
SORT_DESC = Button(area={'cn': (1014, 29, 1019, 33), 'en': (1014, 29, 1019, 33), 'jp': (1013, 29, 1019, 32), 'tw': (1014, 29, 1019, 33)}, color={'cn': (189, 207, 231), 'en': (189, 207, 231), 'jp': (189, 207, 231), 'tw': (189, 207, 231)}, button={'cn': (1014, 29, 1019, 33), 'en': (1014, 29, 1019, 33), 'jp': (1013, 29, 1019, 32), 'tw': (1014, 29, 1019, 33)}, file={'cn': './assets/cn/retire/SORT_DESC.png', 'en': './assets/en/retire/SORT_DESC.png', 'jp': './assets/jp/retire/SORT_DESC.png', 'tw': './assets/tw/retire/SORT_DESC.png'})
|
||||
SR_SSR_CONFIRM = Button(area={'cn': (707, 464, 879, 521), 'en': (706, 463, 881, 523), 'jp': (707, 464, 880, 521), 'tw': (707, 464, 879, 521)}, color={'cn': (94, 143, 204), 'en': (106, 152, 208), 'jp': (93, 140, 200), 'tw': (94, 143, 204)}, button={'cn': (707, 464, 879, 521), 'en': (706, 463, 881, 523), 'jp': (707, 464, 880, 521), 'tw': (707, 464, 879, 521)}, file={'cn': './assets/cn/retire/SR_SSR_CONFIRM.png', 'en': './assets/en/retire/SR_SSR_CONFIRM.png', 'jp': './assets/jp/retire/SR_SSR_CONFIRM.png', 'tw': './assets/tw/retire/SR_SSR_CONFIRM.png'})
|
||||
TEMPLATE_BOGUE = Template(file={'cn': './assets/cn/retire/TEMPLATE_BOGUE.png', 'en': './assets/cn/retire/TEMPLATE_BOGUE.png', 'jp': './assets/cn/retire/TEMPLATE_BOGUE.png', 'tw': './assets/cn/retire/TEMPLATE_BOGUE.png'})
|
||||
TEMPLATE_BOGUE_RETIRE = Template(file={'cn': './assets/cn/retire/TEMPLATE_BOGUE_RETIRE.png', 'en': './assets/cn/retire/TEMPLATE_BOGUE_RETIRE.png', 'jp': './assets/cn/retire/TEMPLATE_BOGUE_RETIRE.png', 'tw': './assets/cn/retire/TEMPLATE_BOGUE_RETIRE.png'})
|
||||
TEMPLATE_HERMES = Template(file={'cn': './assets/cn/retire/TEMPLATE_HERMES.png', 'en': './assets/cn/retire/TEMPLATE_HERMES.png', 'jp': './assets/cn/retire/TEMPLATE_HERMES.png', 'tw': './assets/cn/retire/TEMPLATE_HERMES.png'})
|
||||
TEMPLATE_HERMES_RETIRE = Template(file={'cn': './assets/cn/retire/TEMPLATE_HERMES_RETIRE.png', 'en': './assets/cn/retire/TEMPLATE_HERMES_RETIRE.png', 'jp': './assets/cn/retire/TEMPLATE_HERMES_RETIRE.png', 'tw': './assets/cn/retire/TEMPLATE_HERMES_RETIRE.png'})
|
||||
TEMPLATE_LANGLEY = Template(file={'cn': './assets/cn/retire/TEMPLATE_LANGLEY.png', 'en': './assets/cn/retire/TEMPLATE_LANGLEY.png', 'jp': './assets/cn/retire/TEMPLATE_LANGLEY.png', 'tw': './assets/cn/retire/TEMPLATE_LANGLEY.png'})
|
||||
TEMPLATE_LANGLEY_RETIRE = Template(file={'cn': './assets/cn/retire/TEMPLATE_LANGLEY_RETIRE.png', 'en': './assets/cn/retire/TEMPLATE_LANGLEY_RETIRE.png', 'jp': './assets/cn/retire/TEMPLATE_LANGLEY_RETIRE.png', 'tw': './assets/cn/retire/TEMPLATE_LANGLEY_RETIRE.png'})
|
||||
TEMPLATE_RANGER = Template(file={'cn': './assets/cn/retire/TEMPLATE_RANGER.png', 'en': './assets/cn/retire/TEMPLATE_RANGER.png', 'jp': './assets/cn/retire/TEMPLATE_RANGER.png', 'tw': './assets/cn/retire/TEMPLATE_RANGER.png'})
|
||||
TEMPLATE_RANGER_RETIRE = Template(file={'cn': './assets/cn/retire/TEMPLATE_RANGER_RETIRE.png', 'en': './assets/cn/retire/TEMPLATE_RANGER_RETIRE.png', 'jp': './assets/cn/retire/TEMPLATE_RANGER_RETIRE.png', 'tw': './assets/cn/retire/TEMPLATE_RANGER_RETIRE.png'})
|
||||
|
||||
@@ -42,8 +42,10 @@ CARD_GRIDS = ButtonGrid(
|
||||
origin=(93, 76), delta=(164 + 2 / 3, 227), button_shape=(138, 204), grid_shape=(7, 2), name='CARD')
|
||||
CARD_RARITY_GRIDS = CARD_GRIDS.crop(area=(0, 0, 138, 5), name='RARITY')
|
||||
CARD_LEVEL_GRIDS = CARD_GRIDS.crop(area=(80, 4, 138, 27), name='LEVEL')
|
||||
CARD_EMOTION_GRIDS = CARD_GRIDS.crop(area=(25, 30, 49, 48), name='EMOTION')
|
||||
CARD_BOTTOM_GRIDS = CARD_GRIDS.move(vector=(0, 94), name='CARD')
|
||||
CARD_BOTTOM_LEVEL_GRIDS = CARD_LEVEL_GRIDS.move(vector=(0, 94), name='LEVEL')
|
||||
CARD_BOTTOM_EMOTION_GRIDS = CARD_EMOTION_GRIDS.move(vector=(0, 94), name='EMOTION')
|
||||
DOCK_SCROLL = Scroll(DOCK_SCROLL, color=(247, 211, 66), name='DOCK_SCROLL')
|
||||
|
||||
OCR_DOCK_SELECTED = DigitCounter(DOCK_SELECTED, threshold=64, name='OCR_DOCK_SELECTED')
|
||||
|
||||
@@ -2,11 +2,11 @@ from module.base.button import ButtonGrid
|
||||
from module.base.decorator import Config
|
||||
from module.base.utils import get_color, color_similar
|
||||
from module.combat.assets import GET_ITEMS_1
|
||||
from module.exception import ScriptError
|
||||
from module.logger import logger
|
||||
from module.retire.assets import *
|
||||
from module.retire.enhancement import Enhancement
|
||||
from module.ocr.ocr import Digit
|
||||
from module.base.timer import Timer
|
||||
|
||||
|
||||
|
||||
CARD_GRIDS = ButtonGrid(
|
||||
@@ -21,10 +21,6 @@ CARD_RARITY_COLORS = {
|
||||
'SSR': (248, 223, 107)
|
||||
# Not support marriage cards.
|
||||
}
|
||||
OCR_RETIRE_SELECTED = Digit(
|
||||
RETIRE_COIN, threshold=64, name='OCR_RETIRE_SELECTED')
|
||||
|
||||
|
||||
class Retirement(Enhancement):
|
||||
_unable_to_enhance = False
|
||||
|
||||
@@ -295,18 +291,20 @@ class Retirement(Enhancement):
|
||||
button (Button): Ship button to select
|
||||
skip_first_screenshot:
|
||||
"""
|
||||
before = OCR_RETIRE_SELECTED.ocr(self.device.image)
|
||||
for _ in range(0,5):
|
||||
|
||||
retire_coin_timer = Timer(2)
|
||||
RETIRE_COIN.load_color(self.device.image)
|
||||
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
if self.appear(SHIP_CONFIRM_2, offset=(30, 30), interval=3):
|
||||
self.device.click(button)
|
||||
continue
|
||||
|
||||
self.device.click(button)
|
||||
self.wait_until_stable(RETIRE_COIN)
|
||||
|
||||
current = OCR_RETIRE_SELECTED.ocr(self.device.image)
|
||||
if current != before:
|
||||
if retire_coin_timer.reached() and not self.appear(RETIRE_COIN, threshold=0.97):
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -316,10 +314,12 @@ class Retirement(Enhancement):
|
||||
Button:
|
||||
"""
|
||||
# TODO use alConfig
|
||||
template = globals()[f'TEMPLATE_{self.config.RETIRE_COMMON_CV}_RETIRE']
|
||||
sim, point = template.match_result(self.device.image)
|
||||
|
||||
template = globals()[f'TEMPLATE_{self.config.COMMON_CV_NAME}']
|
||||
sim, point = template.match_result(self.device.image.resize(size=(1189, 669)))
|
||||
print(sim)
|
||||
|
||||
if sim > self.config.COMMON_CV_THRESHOLD:
|
||||
point = (point[0]*155//144, point[1]*155//144)
|
||||
return Button(button=(
|
||||
point[0], point[1], point[0]+offset[0], point[1]+offset[1]), color=None, area=None)
|
||||
|
||||
@@ -328,7 +328,7 @@ class Retirement(Enhancement):
|
||||
def keep_one_common_cv(self):
|
||||
button = self.get_common_rarity_cv()
|
||||
if button is not None:
|
||||
if self._retire_select_one(button):
|
||||
if self._retire_select_one(button, skip_first_screenshot=False):
|
||||
self.HAVE_KEEPED_CV = True
|
||||
else:
|
||||
logger.warning('No ship retired, exit')
|
||||
@@ -343,5 +343,5 @@ if __name__ == '__main__':
|
||||
config = AzurLaneConfig('alas_cn')
|
||||
az = Retirement(config, Device(config=config))
|
||||
az.device.screenshot()
|
||||
az.device.image.show()
|
||||
|
||||
az.retire_ships()
|
||||
Reference in New Issue
Block a user