1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-04-16 03:29:53 +08:00

change CRLF to LF

This commit is contained in:
SaarChaffee
2022-04-09 23:31:09 +08:00
parent c99c2fbdd9
commit 303dd90fdc
302 changed files with 25647 additions and 25647 deletions

View File

@@ -1,88 +1,88 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('10-2')
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'E3', 'E4']
MAP.camera_data_spawn_point = ['E4']
MAP.map_data = """
Me -- ME ME -- ++ ME MB
-- ++ ++ -- ME ++ ME ME
-- SP ++ ++ __ ME Me ++
-- SP ++ ++ -- ME Me ++
-- ++ ++ -- ME ++ ME ME
-- Me ME ME -- ++ ME MB
"""
MAP.weight_data = """
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([B6, C6, D6, E5, F4, G2, [G1, H2], G3, G4, G5, [H5, G6]])
class Config:
DETECTION_BACKEND = 'perspective'
HOMO_STORAGE = ((7, 6), [(471.806, 82.471), (1249.283, 82.471), (420.72, 615.64), (1435.387, 615.64)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('10-2')
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'E3', 'E4']
MAP.camera_data_spawn_point = ['E4']
MAP.map_data = """
Me -- ME ME -- ++ ME MB
-- ++ ++ -- ME ++ ME ME
-- SP ++ ++ __ ME Me ++
-- SP ++ ++ -- ME Me ++
-- ++ ++ -- ME ++ ME ME
-- Me ME ME -- ++ ME MB
"""
MAP.weight_data = """
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([B6, C6, D6, E5, F4, G2, [G1, H2], G3, G4, G5, [H5, G6]])
class Config:
DETECTION_BACKEND = 'perspective'
HOMO_STORAGE = ((7, 6), [(471.806, 82.471), (1249.283, 82.471), (420.72, 615.64), (1435.387, 615.64)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,72 +1,72 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-1')
MAP.shape = 'H6'
MAP.camera_data = ['D3', 'E4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
-- -- ME -- ME -- -- MB
MB ME __ ME -- ++ ++ --
++ Me -- ++ ME MB ++ ME
-- -- ++ ++ __ ME ME --
SP -- -- -- Me ME -- ++
++ SP -- -- ++ -- MB ++
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([B2, B3, E5, F4, G4, H3])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-1')
MAP.shape = 'H6'
MAP.camera_data = ['D3', 'E4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
-- -- ME -- ME -- -- MB
MB ME __ ME -- ++ ++ --
++ Me -- ++ ME MB ++ ME
-- -- ++ ++ __ ME ME --
SP -- -- -- Me ME -- ++
++ SP -- -- ++ -- MB ++
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([B2, B3, E5, F4, G4, H3])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,90 +1,90 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-2')
MAP.shape = 'K6'
MAP.camera_data = ['F4', 'G3', 'H4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
++ ++ ++ -- -- ++ -- ME -- Me --
-- -- -- Me -- __ Me ++ ++ ME --
SP -- ++ -- -- ME ME MM ++ -- ME
SP -- ++ -- ME -- ++ ME -- MB MB
-- ++ ++ ++ __ ME ME -- ++ ++ ++
-- -- ME -- -- ++ -- ME -- -- MB
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 10 05 90 90
90 90 90 90 90 25 20 15 90 90 90
90 90 90 40 35 30 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
= MAP.flatten()
road_main = RoadGrids([C6, F5, G5, H4, H6])
class Config:
DETECTION_BACKEND = 'homography'
HOMO_STORAGE = ((6, 6), [(579.064, 82.271), (1248.248, 82.271), (562.795, 616.581), (1438.283, 616.581)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
def handle_boss_appear_refocus(self, preset=(-3, -2)):
return super().handle_boss_appear_refocus(preset)
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-2')
MAP.shape = 'K6'
MAP.camera_data = ['F4', 'G3', 'H4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
++ ++ ++ -- -- ++ -- ME -- Me --
-- -- -- Me -- __ Me ++ ++ ME --
SP -- ++ -- -- ME ME MM ++ -- ME
SP -- ++ -- ME -- ++ ME -- MB MB
-- ++ ++ ++ __ ME ME -- ++ ++ ++
-- -- ME -- -- ++ -- ME -- -- MB
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 10 05 90 90
90 90 90 90 90 25 20 15 90 90 90
90 90 90 40 35 30 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
= MAP.flatten()
road_main = RoadGrids([C6, F5, G5, H4, H6])
class Config:
DETECTION_BACKEND = 'homography'
HOMO_STORAGE = ((6, 6), [(579.064, 82.271), (1248.248, 82.271), (562.795, 616.581), (1438.283, 616.581)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
def handle_boss_appear_refocus(self, preset=(-3, -2)):
return super().handle_boss_appear_refocus(preset)

View File

@@ -1,84 +1,84 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-3')
MAP.shape = 'I7'
MAP.camera_data = ['D3', 'F5']
MAP.camera_data_spawn_point = ['D5']
MAP.map_data = """
++ -- -- ME -- Me ++ ++ ++
__ ME ME -- Me -- ME -- __
-- -- ME -- -- ME -- ME --
MB ++ ++ -- ++ ++ ++ -- ME
++ ++ ++ MB -- ME __ ME --
SP -- -- Me -- ME ++ ME --
SP -- -- -- ++ -- ME -- MB
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
road_main = RoadGrids([C2, D6, F6, G7])
class Config:
DETECTION_BACKEND = 'homography'
HOMO_STORAGE = ((5, 4), [(133.207, 81.356), (696.903, 81.356), (44.566, 406.051), (705.278, 406.051)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-3')
MAP.shape = 'I7'
MAP.camera_data = ['D3', 'F5']
MAP.camera_data_spawn_point = ['D5']
MAP.map_data = """
++ -- -- ME -- Me ++ ++ ++
__ ME ME -- Me -- ME -- __
-- -- ME -- -- ME -- ME --
MB ++ ++ -- ++ ++ ++ -- ME
++ ++ ++ MB -- ME __ ME --
SP -- -- Me -- ME ++ ME --
SP -- -- -- ++ -- ME -- MB
"""
MAP.weight_data = """
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
road_main = RoadGrids([C2, D6, F6, G7])
class Config:
DETECTION_BACKEND = 'homography'
HOMO_STORAGE = ((5, 4), [(133.207, 81.356), (696.903, 81.356), (44.566, 406.051), (705.278, 406.051)])
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_boss.clear_boss()

View File

@@ -1,92 +1,92 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-4')
MAP.shape = 'J8'
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
MAP.camera_data_spawn_point = ['D2', 'G2']
MAP.map_data = """
MB MB ++ -- -- -- ++ MB -- --
-- -- ++ ME -- Me ++ -- -- ME
ME __ ME -- ++ -- __ -- ME --
-- ++ -- -- SP SP -- Me -- --
MB -- ME -- -- -- -- ++ ++ ++
++ ++ ++ -- Me -- Me __ -- ME
-- -- ME __ -- ++ -- ++ ME --
MB -- -- ME -- ++ -- ME -- MB
"""
MAP.weight_data = """
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
= MAP.flatten()
step_on = SelectedGrids([C3])
road_boss = RoadGrids([C3, H4, [C5, C7], G6, G8])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_boss]):
return True
if self.clear_roadblocks([road_boss]):
return True
if self.clear_potential_roadblocks([road_boss]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
return self.clear_roadblocks([road_boss])
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-4')
MAP.shape = 'J8'
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
MAP.camera_data_spawn_point = ['D2', 'G2']
MAP.map_data = """
MB MB ++ -- -- -- ++ MB -- --
-- -- ++ ME -- Me ++ -- -- ME
ME __ ME -- ++ -- __ -- ME --
-- ++ -- -- SP SP -- Me -- --
MB -- ME -- -- -- -- ++ ++ ++
++ ++ ++ -- Me -- Me __ -- ME
-- -- ME __ -- ++ -- ++ ME --
MB -- -- ME -- ++ -- ME -- MB
"""
MAP.weight_data = """
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
= MAP.flatten()
step_on = SelectedGrids([C3])
road_boss = RoadGrids([C3, H4, [C5, C7], G6, G8])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_boss]):
return True
if self.clear_roadblocks([road_boss]):
return True
if self.clear_potential_roadblocks([road_boss]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
return self.clear_roadblocks([road_boss])
return self.fleet_boss.clear_boss()

View File

@@ -1,87 +1,87 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap()
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
MAP.camera_data_spawn_point = ['D4', 'E4']
MAP.map_data = """
ME -- ME Me -- -- ++ ++
++ ME -- ++ ME ME ME ME
++ __ Me ++ ++ __ Me --
-- ME -- ME ME ME -- Me
ME ++ ++ SP SP -- ++ MB
ME -- Me ME -- Me ++ MB
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([F4, H4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (1.5, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.493
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.443
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap()
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
MAP.camera_data_spawn_point = ['D4', 'E4']
MAP.map_data = """
ME -- ME Me -- -- ++ ++
++ ME -- ++ ME ME ME ME
++ __ Me ++ ++ __ Me --
-- ME -- ME ME ME -- Me
ME ++ ++ SP SP -- ++ MB
ME -- Me ME -- Me ++ MB
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([F4, H4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (1.5, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.493
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.443
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,68 +1,68 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_12_1 import Config
MAP = CampaignMap()
MAP.shape = 'I7'
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
MAP.camera_data_spawn_point = ['D2', 'D5']
MAP.map_data = """
++ MB ME ME ++ -- ME Me --
++ -- Me -- Me -- Me -- ++
MB ME ++ ME SP ME -- ME ++
MB __ ME -- SP ++ ++ __ Me
++ -- -- Me ME -- ME -- ME
-- ME ME ++ -- -- Me ME --
ME -- Me -- ME ME -- ++ ++
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
road_main = RoadGrids([[C4, D5], B3])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_12_1 import Config
MAP = CampaignMap()
MAP.shape = 'I7'
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
MAP.camera_data_spawn_point = ['D2', 'D5']
MAP.map_data = """
++ MB ME ME ++ -- ME Me --
++ -- Me -- Me -- Me -- ++
MB ME ++ ME SP ME -- ME ++
MB __ ME -- SP ++ ++ __ Me
++ -- -- Me ME -- ME -- ME
-- ME ME ++ -- -- Me ME --
ME -- Me -- ME ME -- ++ ++
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
road_main = RoadGrids([[C4, D5], B3])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,68 +1,68 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_12_1 import Config
MAP = CampaignMap()
MAP.shape = 'J7'
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
MAP.camera_data_spawn_point = ['G5', 'D5']
MAP.map_data = """
MB ++ ++ ++ ME MB -- Me -- ME
MB -- ME -- -- ME -- -- ++ MB
-- ME __ ++ Me -- ME ++ ++ --
MB -- ME -- -- ME -- __ Me ME
-- ME -- ME Me -- Me -- ME ++
++ -- ME Me -- ++ Me -- -- ++
++ ME -- ME SP SP -- ME -- ME
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
= MAP.flatten()
road_main = RoadGrids([H1, J1])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_12_1 import Config
MAP = CampaignMap()
MAP.shape = 'J7'
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
MAP.camera_data_spawn_point = ['G5', 'D5']
MAP.map_data = """
MB ++ ++ ++ ME MB -- Me -- ME
MB -- ME -- -- ME -- -- ++ MB
-- ME __ ++ Me -- ME ++ ++ --
MB -- ME -- -- ME -- __ Me ME
-- ME -- ME Me -- Me -- ME ++
++ -- ME Me -- ++ Me -- -- ++
++ ME -- ME SP SP -- ME -- ME
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
= MAP.flatten()
road_main = RoadGrids([H1, J1])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,78 +1,78 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('13-1')
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
ME -- ME Me ++ ++ ME MB
++ ME -- ME -- ++ ME --
++ __ Me ME -- -- Me --
ME ME ++ ME ME -- __ --
ME -- SP SP -- -- ++ --
ME -- Me ME Me Me ++ MB
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
class Config:
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (1.5, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.519
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('13-1')
MAP.shape = 'H6'
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
ME -- ME Me ++ ++ ME MB
++ ME -- ME -- ++ ME --
++ __ Me ME -- -- Me --
ME ME ++ ME ME -- __ --
ME -- SP SP -- -- ++ --
ME -- Me ME Me Me ++ MB
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
class Config:
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (1.5, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.519
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()

View File

@@ -1,68 +1,68 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-2')
MAP.shape = 'I7'
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
MAP.camera_data_spawn_point = ['D2', 'D5']
MAP.map_data = """
++ Me ME ME ++ Me ME Me --
++ -- -- -- -- -- ++ ++ ++
MB -- SP ++ ++ -- ME ME ME
MB -- SP -- ++ -- -- __ Me
ME __ -- -- ME -- ME -- --
ME ME ME ++ ME -- Me ME MB
ME -- Me Me ME ME Me ++ ++
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-2')
MAP.shape = 'I7'
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
MAP.camera_data_spawn_point = ['D2', 'D5']
MAP.map_data = """
++ Me ME ME ++ Me ME Me --
++ -- -- -- -- -- ++ ++ ++
MB -- SP ++ ++ -- ME ME ME
MB -- SP -- ++ -- -- __ Me
ME __ -- -- ME -- ME -- --
ME ME ME ++ ME -- Me ME MB
ME -- Me Me ME ME Me ++ ++
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
= MAP.flatten()
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()

View File

@@ -1,72 +1,72 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-3')
MAP.shape = 'J7'
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
MAP.camera_data_spawn_point = ['G5', 'D5']
MAP.map_data = """
++ ++ ++ ME ME MB -- Me ++ --
MB Me ME ME -- ME -- -- ++ MB
MB -- -- -- Me ++ ME __ -- --
MB __ -- ++ ++ ME -- -- Me ME
ME ME -- ++ ++ -- Me -- ME ++
++ -- ME Me SP SP Me -- -- ME
++ ME -- ME -- -- -- ME -- ME
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 3},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
= MAP.flatten()
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_siren():
return True
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-3')
MAP.shape = 'J7'
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
MAP.camera_data_spawn_point = ['G5', 'D5']
MAP.map_data = """
++ ++ ++ ME ME MB -- Me ++ --
MB Me ME ME -- ME -- -- ++ MB
MB -- -- -- Me ++ ME __ -- --
MB __ -- ++ ++ ME -- -- Me ME
ME ME -- ++ ++ -- Me -- ME ++
++ -- ME Me SP SP Me -- -- ME
++ ME -- ME -- -- -- ME -- ME
"""
MAP.weight_data = """
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 3},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
= MAP.flatten()
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
return True
return self.battle_default()
def battle_5(self):
if self.clear_siren():
return True
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_boss.clear_boss()

View File

@@ -1,91 +1,91 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-4')
MAP.shape = 'K8'
MAP.camera_data = ['D2', 'D4', 'D6', 'H2', 'H4', 'H6']
MAP.camera_data_spawn_point = ['D2', 'D6']
MAP.map_data = """
MB ME ME -- ME ++ ++ ++ MB MB ++
MB __ ME ME ME -- __ MA -- Me ++
ME -- -- Me Me -- Me Me -- Me ME
++ SP -- ME ++ Me -- -- -- -- ME
++ SP ME -- ME -- -- ME ++ ++ --
++ -- -- -- Me -- ME Me ++ ++ ME
ME ME Me -- -- -- Me -- -- ME --
-- ME Me ME -- -- ++ ++ -- ME --
"""
MAP.weight_data = """
50 50 90 90 90 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
90 50 50 50 50 50 50 50 50 90 50
90 90 50 50 50 50 50 50 50 90 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 3},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 2},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'enemy': 1},
{'battle': 6},
{'battle': 7, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
= MAP.flatten()
class Config(ConfigBase):
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
# step_on = SelectedGrids([A7, B1, B7, C7, D2, D3, G7, J2, K4, K6])
# road_main = RoadGrids([A7, B1, B7, C7, D2, D3, [G7, J2], K4, K6])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_3(self):
self.pick_up_ammo()
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_7(self):
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from .campaign_13_1 import Config as ConfigBase
MAP = CampaignMap('13-4')
MAP.shape = 'K8'
MAP.camera_data = ['D2', 'D4', 'D6', 'H2', 'H4', 'H6']
MAP.camera_data_spawn_point = ['D2', 'D6']
MAP.map_data = """
MB ME ME -- ME ++ ++ ++ MB MB ++
MB __ ME ME ME -- __ MA -- Me ++
ME -- -- Me Me -- Me Me -- Me ME
++ SP -- ME ++ Me -- -- -- -- ME
++ SP ME -- ME -- -- ME ++ ++ --
++ -- -- -- Me -- ME Me ++ ++ ME
ME ME Me -- -- -- Me -- -- ME --
-- ME Me ME -- -- ++ ++ -- ME --
"""
MAP.weight_data = """
50 50 90 90 90 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50
90 50 50 50 50 50 50 50 50 90 50
90 90 50 50 50 50 50 50 50 90 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 3},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 2},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'enemy': 1},
{'battle': 6},
{'battle': 7, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
= MAP.flatten()
class Config(ConfigBase):
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
# step_on = SelectedGrids([A7, B1, B7, C7, D2, D3, G7, J2, K4, K6])
# road_main = RoadGrids([A7, B1, B7, C7, D2, D3, [G7, J2], K4, K6])
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_3(self):
self.pick_up_ammo()
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
return True
return self.battle_default()
def battle_7(self):
return self.fleet_boss.clear_boss()

View File

@@ -1,53 +1,53 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_2_1 import Config
MAP = CampaignMap()
MAP.shape = 'F5'
MAP.camera_data = ['D3']
MAP.camera_data_spawn_point = ['D1', 'D3']
MAP.map_data = """
SP -- ME -- MB ++
-- ME -- ME ++ ++
-- -- ME -- -- ++
SP -- -- ME ME --
++ ++ ++ -- ME MM
"""
MAP.weight_data = """
10 10 11 10 10 10
50 50 10 12 10 10
20 20 20 20 20 20
20 20 20 20 30 30
30 30 30 30 30 30
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'mystery': 1},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 2, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
= MAP.flatten()
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.clear_all_mystery()
return self.battle_default()
def battle_3(self):
self.clear_all_mystery()
if not self.check_accessibility(E1, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_2_1 import Config
MAP = CampaignMap()
MAP.shape = 'F5'
MAP.camera_data = ['D3']
MAP.camera_data_spawn_point = ['D1', 'D3']
MAP.map_data = """
SP -- ME -- MB ++
-- ME -- ME ++ ++
-- -- ME -- -- ++
SP -- -- ME ME --
++ ++ ++ -- ME MM
"""
MAP.weight_data = """
10 10 11 10 10 10
50 50 10 12 10 10
20 20 20 20 20 20
20 20 20 20 30 30
30 30 30 30 30 30
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'mystery': 1},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 2, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
= MAP.flatten()
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.clear_all_mystery()
return self.battle_default()
def battle_3(self):
self.clear_all_mystery()
if not self.check_accessibility(E1, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()

View File

@@ -1,53 +1,53 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_2_1 import Config as ConfigBase
MAP = CampaignMap()
MAP.shape = 'G4'
MAP.camera_data = ['D2']
MAP.camera_data_spawn_point = ['D2']
MAP.map_data = """
-- ++ ++ ++ ME ME MB
SP -- ME -- -- ME --
-- -- ME -- ME ++ ++
-- ME -- SP -- MA ++
"""
MAP.weight_data = """
20 20 20 20 12 11 10
20 20 20 20 10 10 10
20 20 20 20 30 20 20
20 20 20 20 20 20 20
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 2, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
= MAP.flatten()
class Config(ConfigBase):
# Don't know why 2-4 is slimmer
# 2-1 is /_\ and 2-4 is like |_|
MID_DIFF_RANGE_H = (121 - 3, 121 + 3)
MID_DIFF_RANGE_V = (121 - 3, 121 + 3)
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
return self.battle_default()
def battle_3(self):
if not self.check_accessibility(G1, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_2_1 import Config as ConfigBase
MAP = CampaignMap()
MAP.shape = 'G4'
MAP.camera_data = ['D2']
MAP.camera_data_spawn_point = ['D2']
MAP.map_data = """
-- ++ ++ ++ ME ME MB
SP -- ME -- -- ME --
-- -- ME -- ME ++ ++
-- ME -- SP -- MA ++
"""
MAP.weight_data = """
20 20 20 20 12 11 10
20 20 20 20 10 10 10
20 20 20 20 30 20 20
20 20 20 20 20 20 20
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 2, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
= MAP.flatten()
class Config(ConfigBase):
# Don't know why 2-4 is slimmer
# 2-1 is /_\ and 2-4 is like |_|
MID_DIFF_RANGE_H = (121 - 3, 121 + 3)
MID_DIFF_RANGE_V = (121 - 3, 121 + 3)
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
return self.battle_default()
def battle_3(self):
if not self.check_accessibility(G1, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()

View File

@@ -1,77 +1,77 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_3_1 import Config as Config31
MAP = CampaignMap()
MAP.shape = 'H4'
MAP.camera_data = ['E2']
MAP.camera_data_spawn_point = ['D1', 'D2']
# WIKI的图是错的: https://wiki.biligame.com/blhx/3-4
# A3有岛, 假图害人
MAP.map_data = """
SP -- -- ME -- ++ ++ ++
SP ME -- ME -- MA ++ ++
++ -- ME __ ME ME -- MB
SP ME -- ME -- -- ME MB
"""
MAP.weight_data = """
40 40 40 40 40 40 40 40
40 40 40 30 30 30 30 30
40 40 30 30 20 10 10 09
40 40 30 20 20 10 10 09
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
= MAP.flatten()
class Config(Config31):
MAP_MYSTERY_HAS_CARRIER = False
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 75),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 40, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(H3):
return True
return self.battle_default()
def battle_3(self):
if not self.check_accessibility(H3, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()
# def handle_boss_appear_refocus(self):
# for data in self.map.spawn_data:
# if data.get('battle') == self.battle_count and data.get('boss', 0):
# self.map_swipe((-3, -1))
#
# return super().handle_boss_appear_refocus()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.campaign_main.campaign_3_1 import Config as Config31
MAP = CampaignMap()
MAP.shape = 'H4'
MAP.camera_data = ['E2']
MAP.camera_data_spawn_point = ['D1', 'D2']
# WIKI的图是错的: https://wiki.biligame.com/blhx/3-4
# A3有岛, 假图害人
MAP.map_data = """
SP -- -- ME -- ++ ++ ++
SP ME -- ME -- MA ++ ++
++ -- ME __ ME ME -- MB
SP ME -- ME -- -- ME MB
"""
MAP.weight_data = """
40 40 40 40 40 40 40 40
40 40 40 30 30 30 30 30
40 40 30 30 20 10 10 09
40 40 30 20 20 10 10 09
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
= MAP.flatten()
class Config(Config31):
MAP_MYSTERY_HAS_CARRIER = False
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 75),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 40, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(H3):
return True
return self.battle_default()
def battle_3(self):
if not self.check_accessibility(H3, fleet='boss'):
return self.battle_default()
return self.fleet_boss.clear_boss()
# def handle_boss_appear_refocus(self):
# for data in self.map.spawn_data:
# if data.get('battle') == self.battle_count and data.get('boss', 0):
# self.map_swipe((-3, -1))
#
# return super().handle_boss_appear_refocus()

View File

@@ -1,63 +1,63 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('8-1')
MAP.shape = 'I3'
MAP.camera_data = ['D1', 'F1']
MAP.camera_data_spawn_point = ['D1', 'F1']
MAP.map_data = """
SP -- ++ ++ ME -- ME MB ++
SP -- ++ ++ ME -- ME -- ME
-- ME ME -- ME ++ ME ME MB
"""
MAP.weight_data = """
50 50 50 50 50 50 21 30 50
50 50 50 50 25 24 20 12 11
50 45 40 31 30 50 22 10 20
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
= MAP.flatten()
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.722
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('8-1')
MAP.shape = 'I3'
MAP.camera_data = ['D1', 'F1']
MAP.camera_data_spawn_point = ['D1', 'F1']
MAP.map_data = """
SP -- ++ ++ ME -- ME MB ++
SP -- ++ ++ ME -- ME -- ME
-- ME ME -- ME ++ ME ME MB
"""
MAP.weight_data = """
50 50 50 50 50 50 21 30 50
50 50 50 50 25 24 20 12 11
50 45 40 31 30 50 22 10 20
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
= MAP.flatten()
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 49),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 49, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
HOMO_EDGE_COLOR_RANGE = (0, 49)
MAP_SWIPE_MULTIPLY = 1.722
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()

View File

@@ -1,73 +1,73 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_8_1 import Config as ConfigBase
MAP = CampaignMap('8-3')
MAP.shape = 'H5'
MAP.camera_data = ['D2', 'D3', 'E3']
MAP.camera_data_spawn_point = ['E3']
MAP.map_data = """
MB ME -- ++ ++ ME -- MB
ME ME ME -- ++ ME ME --
-- ME -- ME ME -- ME ME
ME ++ ++ -- ME ++ ++ ME
MM ++ ++ ME ME SP -- SP
"""
MAP.weight_data = """
50 35 20 90 90 40 50 50
30 40 25 90 90 25 30 50
20 20 20 10 10 20 20 35
50 90 90 60 60 90 90 90
90 90 90 70 80 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2, 'mystery': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
= MAP.flatten()
road_A1 = RoadGrids([[A2, B1], [B1, B2, B3], [A2, B2, C2], [B3, C2], D3])
road_H1 = RoadGrids([[F1, G2, H3], [F1, G2, G3], [F2, G2, H3], [F2, G3], E3])
road_MY = RoadGrids([A4, [A2, B3]])
road_middle = RoadGrids([E5, [D5, E4], D3]) \
.combine(RoadGrids([H4, H3, [F1, G2, G3], [F2, G3], E3]))
step_on = SelectedGrids([D3, E3])
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
return True
self.clear_all_mystery()
if self.clear_roadblocks([road_A1, road_H1]):
return True
if self.mystery_count < 1 and self.clear_roadblocks([road_MY]):
return True
if self.clear_potential_roadblocks([road_A1, road_H1]):
return True
if self.clear_first_roadblocks([road_A1, road_H1]):
return True
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_8_1 import Config as ConfigBase
MAP = CampaignMap('8-3')
MAP.shape = 'H5'
MAP.camera_data = ['D2', 'D3', 'E3']
MAP.camera_data_spawn_point = ['E3']
MAP.map_data = """
MB ME -- ++ ++ ME -- MB
ME ME ME -- ++ ME ME --
-- ME -- ME ME -- ME ME
ME ++ ++ -- ME ++ ++ ME
MM ++ ++ ME ME SP -- SP
"""
MAP.weight_data = """
50 35 20 90 90 40 50 50
30 40 25 90 90 25 30 50
20 20 20 10 10 20 20 35
50 90 90 60 60 90 90 90
90 90 90 70 80 90 90 90
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2, 'mystery': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
= MAP.flatten()
road_A1 = RoadGrids([[A2, B1], [B1, B2, B3], [A2, B2, C2], [B3, C2], D3])
road_H1 = RoadGrids([[F1, G2, H3], [F1, G2, G3], [F2, G2, H3], [F2, G3], E3])
road_MY = RoadGrids([A4, [A2, B3]])
road_middle = RoadGrids([E5, [D5, E4], D3]) \
.combine(RoadGrids([H4, H3, [F1, G2, G3], [F2, G3], E3]))
step_on = SelectedGrids([D3, E3])
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
return True
self.clear_all_mystery()
if self.clear_roadblocks([road_A1, road_H1]):
return True
if self.mystery_count < 1 and self.clear_roadblocks([road_MY]):
return True
if self.clear_potential_roadblocks([road_A1, road_H1]):
return True
if self.clear_first_roadblocks([road_A1, road_H1]):
return True
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()

View File

@@ -1,79 +1,79 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_8_1 import Config as ConfigBase
MAP = CampaignMap('8-3')
MAP.shape = 'H6'
MAP.camera_data = ['D3', 'D4', 'E3', 'E4']
MAP.map_data = """
MB -- ME ME ME ME -- MB
-- ME MM ++ ++ __ ME --
ME ++ ++ SP -- ME -- ME
ME MA ++ -- SP ++ ME ME
MM ME __ ME ++ ++ ME --
MB -- ME ME ME ME -- MB
"""
MAP.weight_data = """
50 50 40 90 90 30 50 50
50 50 50 90 90 20 40 50
40 90 90 10 10 10 20 20
30 90 90 10 10 90 40 30
20 20 20 10 90 90 40 50
50 30 30 80 80 80 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2, 'mystery': 1},
{'battle': 2, 'enemy': 2, 'mystery': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_middle = RoadGrids([D5, F3])
step_on = SelectedGrids([D5, F3])
# There's one enemy spawn along with boss, so have to make sure there are multiple roads are cleared.
# Here use separate roads instead of RoadGrids.combine().
road_H1 = RoadGrids([F3, [F1, G2, H3]])
road_A6 = RoadGrids([D5, [B5, C6]])
road_A1_left = RoadGrids([A4, A3])
road_A1_upper = RoadGrids([F1, E1, D1, C1])
road_H6_bottom = RoadGrids([D6, E6, F6])
road_H6_right = RoadGrids([[H3, G4], [G4, H4], [H4, G5]])
road_MY = RoadGrids([[B2, C1]])
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
return True
self.clear_all_mystery()
if self.clear_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
if self.clear_potential_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
if self.clear_roadblocks([road_MY]):
return True
if self.clear_first_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from .campaign_8_1 import Config as ConfigBase
MAP = CampaignMap('8-3')
MAP.shape = 'H6'
MAP.camera_data = ['D3', 'D4', 'E3', 'E4']
MAP.map_data = """
MB -- ME ME ME ME -- MB
-- ME MM ++ ++ __ ME --
ME ++ ++ SP -- ME -- ME
ME MA ++ -- SP ++ ME ME
MM ME __ ME ++ ++ ME --
MB -- ME ME ME ME -- MB
"""
MAP.weight_data = """
50 50 40 90 90 30 50 50
50 50 50 90 90 20 40 50
40 90 90 10 10 10 20 20
30 90 90 10 10 90 40 30
20 20 20 10 90 90 40 50
50 30 30 80 80 80 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2, 'mystery': 1},
{'battle': 2, 'enemy': 2, 'mystery': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_middle = RoadGrids([D5, F3])
step_on = SelectedGrids([D5, F3])
# There's one enemy spawn along with boss, so have to make sure there are multiple roads are cleared.
# Here use separate roads instead of RoadGrids.combine().
road_H1 = RoadGrids([F3, [F1, G2, H3]])
road_A6 = RoadGrids([D5, [B5, C6]])
road_A1_left = RoadGrids([A4, A3])
road_A1_upper = RoadGrids([F1, E1, D1, C1])
road_H6_bottom = RoadGrids([D6, E6, F6])
road_H6_right = RoadGrids([[H3, G4], [G4, H4], [H4, G5]])
road_MY = RoadGrids([[B2, C1]])
class Config(ConfigBase):
pass
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
return True
self.clear_all_mystery()
if self.clear_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
if self.clear_potential_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
if self.clear_roadblocks([road_MY]):
return True
if self.clear_first_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
return True
return self.battle_default()
def battle_4(self):
return self.brute_clear_boss()

View File

@@ -1,73 +1,73 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-2')
MAP.shape = 'H5'
MAP.camera_data = ['E3']
MAP.camera_data_spawn_point = ['D1', 'D3']
MAP.map_data = """
SP -- ++ ++ ++ Me -- MB
++ -- ++ ++ ++ ME ++ ++
-- ME -- ME ME Me ++ ++
-- -- ++ -- ME ++ ME MB
SP SP ++ ME -- Me ME ME
"""
MAP.weight_data = """
90 90 90 90 90 30 30 30
90 90 90 90 90 30 90 90
90 80 70 60 50 30 90 90
90 90 90 90 50 90 30 30
90 90 90 90 40 40 30 30
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
= MAP.flatten()
# Might have wrong prediction on D5
MAP.ignore_prediction(D5, enemy_scale=1, enemy_genre='Enemy')
road_main = RoadGrids([B3, D3, [D5, E4], F5, G5, [G4, H5], H4, E3, F3, F2, F1])
step_on = SelectedGrids([F3, E4])
class Config:
SUBMARINE = 0
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_main]):
return True
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-2')
MAP.shape = 'H5'
MAP.camera_data = ['E3']
MAP.camera_data_spawn_point = ['D1', 'D3']
MAP.map_data = """
SP -- ++ ++ ++ Me -- MB
++ -- ++ ++ ++ ME ++ ++
-- ME -- ME ME Me ++ ++
-- -- ++ -- ME ++ ME MB
SP SP ++ ME -- Me ME ME
"""
MAP.weight_data = """
90 90 90 90 90 30 30 30
90 90 90 90 90 30 90 90
90 80 70 60 50 30 90 90
90 90 90 90 50 90 30 30
90 90 90 90 40 40 30 30
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
= MAP.flatten()
# Might have wrong prediction on D5
MAP.ignore_prediction(D5, enemy_scale=1, enemy_genre='Enemy')
road_main = RoadGrids([B3, D3, [D5, E4], F5, G5, [G4, H5], H4, E3, F3, F2, F1])
step_on = SelectedGrids([F3, E4])
class Config:
SUBMARINE = 0
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_main]):
return True
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -1,82 +1,82 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-4')
MAP.shape = 'I6'
MAP.camera_data = ['D3', 'F3', 'F4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
MB -- ME -- ++ ++ ++ -- MB
-- ++ __ ME -- ME Me ME --
Me -- ME -- ME -- __ ++ --
ME -- ++ ++ -- -- Me __ ME
SP -- MA ++ ME -- ++ ME --
SP -- -- ME -- ME ++ -- MB
"""
MAP.weight_data = """
10 10 20 10 10 10 10 10 10
10 10 10 20 10 10 10 10 10
10 10 20 10 20 10 10 10 10
20 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
= MAP.flatten()
road_main = RoadGrids([A3, D6, [E5, F6], G4, I4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-4')
MAP.shape = 'I6'
MAP.camera_data = ['D3', 'F3', 'F4']
MAP.camera_data_spawn_point = ['D4']
MAP.map_data = """
MB -- ME -- ++ ++ ++ -- MB
-- ++ __ ME -- ME Me ME --
Me -- ME -- ME -- __ ++ --
ME -- ++ ++ -- -- Me __ ME
SP -- MA ++ ME -- ++ ME --
SP -- -- ME -- ME ++ -- MB
"""
MAP.weight_data = """
10 10 20 10 10 10 10 10 10
10 10 10 20 10 10 10 10 10
10 10 20 10 20 10 10 10 10
20 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
= MAP.flatten()
road_main = RoadGrids([A3, D6, [E5, F6], G4, I4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()