From e8dc53b430f1a120a202be92cba4dda1b4074718 Mon Sep 17 00:00:00 2001 From: yusen Date: Tue, 4 Feb 2025 15:46:51 +0800 Subject: [PATCH 1/5] Update: back to main story page --- modules/AllTask/AutoStory/AutoStory.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/AllTask/AutoStory/AutoStory.py b/modules/AllTask/AutoStory/AutoStory.py index 90851300..6dca9317 100644 --- a/modules/AllTask/AutoStory/AutoStory.py +++ b/modules/AllTask/AutoStory/AutoStory.py @@ -184,7 +184,10 @@ def on_run(self) -> None: click((359, 368), sleeptime=0.5) click((359, 368), sleeptime=1) # 可能在最终篇页面,点击左上角返回到Vol主线篇章选择页面 - click((84, 111), sleeptime=0.5) + self.run_until( + lambda: click((84, 111)), + lambda: not match_pixel((84, 111), [(0, 0, 200), (255, 255, 255)]) # 主要比较第三位,白色按钮是244,淡蓝色背景是168 + ) logging.info({"zh_CN": "进入主线剧情", "en_US": "Enter the main storyline"}) self.scroll_to_left() # 设置一共10篇主线 x:347, 611 y: 291, 415 From 9ee652f663691428df07f39586727eef88eec6c0 Mon Sep 17 00:00:00 2001 From: yusen Date: Tue, 4 Feb 2025 16:30:07 +0800 Subject: [PATCH 2/5] Feat: copy existed config file --- DATA/i18n/en_US.json | 2 ++ DATA/i18n/jp_JP.json | 2 ++ DATA/i18n/zh_CN.json | 2 ++ gui/refactor_pages/home.py | 31 ++++++++++++++++++-------- gui/refactor_pages/json_file_docker.py | 23 ++++++++++++++++++- 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/DATA/i18n/en_US.json b/DATA/i18n/en_US.json index 54205607..c98dcd2d 100644 --- a/DATA/i18n/en_US.json +++ b/DATA/i18n/en_US.json @@ -63,6 +63,8 @@ "button_edit":"Edit", "button_show":"Show", "button_hide":"Hide", + "button_copy":"Copy", + "button_rename":"Rename", "config_cafe_attention": "For the global/JP server, please zoom out the camera, and keep the following item checked", "config_camera_full": "Enter Cafe with Maximum Camera View", diff --git a/DATA/i18n/jp_JP.json b/DATA/i18n/jp_JP.json index 034e844e..189e323d 100644 --- a/DATA/i18n/jp_JP.json +++ b/DATA/i18n/jp_JP.json @@ -63,6 +63,8 @@ "button_edit": "編集", "button_show":"表示", "button_hide":"非表示", + "button_copy":"コピー", + "button_rename":"名前を変更", "config_cafe_attention": "カフェの視点を最大にしてください。以下の項目をチェックして効率を向上させます", "config_camera_full": "カフェに入るときに視点が最大になる", diff --git a/DATA/i18n/zh_CN.json b/DATA/i18n/zh_CN.json index 579dc55f..6bf6d388 100644 --- a/DATA/i18n/zh_CN.json +++ b/DATA/i18n/zh_CN.json @@ -63,6 +63,8 @@ "button_edit":"编辑", "button_show":"显示", "button_hide":"隐藏", + "button_copy":"复制", + "button_rename":"重命名", "config_cafe_attention":"请将咖啡馆视角拉到最高,保持勾选以下这项以提高效率", "config_camera_full":"进入咖啡馆时视角为最高", diff --git a/gui/refactor_pages/home.py b/gui/refactor_pages/home.py index 66d707b7..fbcc2ee0 100644 --- a/gui/refactor_pages/home.py +++ b/gui/refactor_pages/home.py @@ -1,6 +1,5 @@ import subprocess -from .json_file_docker import get_json_list -from .json_file_docker import add_new_config +from .json_file_docker import get_json_list, add_new_config, copy_and_rename_config from nicegui import ui, app @@ -95,19 +94,33 @@ def update_advance(): # ============配置文件区域=========== ui.label(gui_shared_config.get_text("config_file")).style("font-size: xx-large") + # 复制操作的相关参数:被复制的文件名,新文件名 + copy_related_params = {"old_name":"", "new_name":""} + with ui.dialog() as dialog, ui.card(): + ui.input(gui_shared_config.get_text("button_copy")).bind_value_from(copy_related_params, "old_name").set_enabled(False) + ui.input(gui_shared_config.get_text("button_rename")).bind_value_to(copy_related_params, "new_name") + with ui.row(): + ui.button(gui_shared_config.get_text("button_hide"), color="white", on_click=dialog.close) + ui.button(gui_shared_config.get_text("button_save"), on_click=lambda e:[copy_and_rename_config(copy_related_params["old_name"], copy_related_params["new_name"]), dialog.close()] if copy_related_params["new_name"] else ui.notify("缺少新文件名!/Missing new file name!")) + + # 配置文件名 卡片 - with ui.row(): + with ui.column(): for config_name in get_json_list(): - with ui.link(target = f"/panel/{config_name}"): - with ui.card().props('flat bordered'): - ui.label(config_name).style("font-size: large;") + with ui.row().classes("flex items-center"): + # config名 + with ui.link(target = f"/panel/{config_name}"): + with ui.card().props('flat bordered'): + ui.label(config_name).style("font-size: large;") + # 复制按钮 + ui.button(gui_shared_config.get_text("button_copy"), on_click=lambda e, c=config_name:[copy_related_params.update({"old_name":c, "new_name":""}), dialog.open()]) # 添加配置 user_config_name = {"val":""} - with ui.row(): + with ui.row().classes("flex items-center"): ui.input("Name").bind_value(user_config_name, "val") - ui.button("+", on_click=lambda: add_new_config(user_config_name["val"])).style( - "width: 30px; height: 30px; line-height: 30px; text-align: center; cursor: pointer;") + ui.button(gui_shared_config.get_text("button_add"), on_click=lambda: add_new_config(user_config_name["val"])).style( + "height: 30px; line-height: 30px; text-align: center; cursor: pointer;") @ui.page("/") diff --git a/gui/refactor_pages/json_file_docker.py b/gui/refactor_pages/json_file_docker.py index eec47e94..f6befec6 100644 --- a/gui/refactor_pages/json_file_docker.py +++ b/gui/refactor_pages/json_file_docker.py @@ -27,7 +27,7 @@ def get_json_list(): async def add_new_config(configname): """ - 点击加号后,添加一个新的json配置文件到alljson_list和alljson_tab_list里,然后让Configger类去新建这个json文件 + 点击加号后,创建新的json文件 """ configname = configname.strip() if not configname: @@ -41,3 +41,24 @@ async def add_new_config(configname): with open(os.path.join(MyConfigger.USER_CONFIG_FOLDER, configname), 'w') as f: f.write("{}") ui.run_javascript('window.location.reload()') + +def copy_and_rename_config(configname, rename_configname): + """ + 复制某个json文件,并重命名 + """ + configname = configname.strip() + if configname not in alljson_list: + ui.notify(f"配置 {configname} 不存在!/Config does not exist!") + return + rename_configname = rename_configname.strip().replace(".json", "") + ".json" # 确保结尾有且只有一个.json + if rename_configname in alljson_list: + ui.notify(f"配置名 {rename_configname} 已存在!/Config name already exists!") + return + # 复制并重命名 + with open(os.path.join(MyConfigger.USER_CONFIG_FOLDER, configname), 'r', encoding="utf-8") as f: + content = f.read() + with open(os.path.join(MyConfigger.USER_CONFIG_FOLDER, rename_configname), 'w', encoding="utf-8") as f: + f.write(content) + ui.notify(f"复制并重命名成功!/Copy and rename successfully!") + # js等待1.5秒后刷新页面 + ui.run_javascript('setTimeout(() => {window.location.reload()}, 1500)') \ No newline at end of file From db4f9f63d379e167e4271784e453699c47ef4e0e Mon Sep 17 00:00:00 2001 From: yusen Date: Wed, 5 Feb 2025 14:15:45 +0800 Subject: [PATCH 3/5] Feat: encap fast run task buttons --- gui/components/fast_run_task_buttons.py | 23 ++++++++++++++++++++ gui/pages/Setting_explore.py | 28 +++++++++++++++---------- gui/pages/Setting_task_order.py | 19 ++--------------- gui/refactor_pages/json_set_panel.py | 2 +- 4 files changed, 43 insertions(+), 29 deletions(-) create mode 100644 gui/components/fast_run_task_buttons.py diff --git a/gui/components/fast_run_task_buttons.py b/gui/components/fast_run_task_buttons.py new file mode 100644 index 00000000..09bb0e61 --- /dev/null +++ b/gui/components/fast_run_task_buttons.py @@ -0,0 +1,23 @@ +from gui.components.manage_baah_in_gui import run_baah_task_and_bind_log +from nicegui import ui, run +from modules.AllTask.myAllTask import TaskName + +def show_fast_run_task_buttons(task_confname_list, config, real_taskname_to_show_taskname, logArea, show_title=True, show_desc=True): + """ + 展示快速运行任务按钮 + """ + if show_title: + ui.label(config.get_text("config_quick_call_task")).style('font-size: x-large') + + if show_desc: + ui.label(config.get_text("config_desc_quick_call_task")) + + def gui_just_run_one_task(taskname): + async def just_run_one_task(): + config.save_user_config(config.nowuserconfigname) + await run.io_bound(run_baah_task_and_bind_log, logArea, config.nowuserconfigname, taskname) + ui.button(real_taskname_to_show_taskname[taskname], on_click=just_run_one_task) + + # show buttons + for t_cn in task_confname_list: + gui_just_run_one_task(t_cn) \ No newline at end of file diff --git a/gui/pages/Setting_explore.py b/gui/pages/Setting_explore.py index 0ed585f9..4b4d85ed 100644 --- a/gui/pages/Setting_explore.py +++ b/gui/pages/Setting_explore.py @@ -1,7 +1,8 @@ from nicegui import ui from gui.components.edit_team_strength import edit_the_team_strength_of_this_config +from gui.components.fast_run_task_buttons import show_fast_run_task_buttons, TaskName -def set_explore(config): +def set_explore(config, real_taskname_to_show_taskname, logArea): ui.label(config.get_text("setting_explore")).style('font-size: x-large') ui.label(config.get_text("desc_team_strength")) ui.checkbox(config.get_text("config_rainbow_teams_desc")).bind_value(config.userconfigdict, "EXPLORE_RAINBOW_TEAMS") @@ -13,20 +14,25 @@ def set_explore(config): ui.label(config.get_text("config_explore_attention")) - with ui.card(): - ui.checkbox(config.get_text("config_use_simple_explore")).bind_value(config.userconfigdict, "PUSH_NORMAL_USE_SIMPLE") - ui.checkbox(config.get_text("config_rainbow_teams_desc")).bind_value(config.userconfigdict, "EXPLORE_RAINBOW_TEAMS") - ui.number(config.get_text("config_push_normal_desc"), min=4, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_NORMAL_QUEST", forward=lambda x: int(x)).style("width: 300px") - ui.number(config.get_text("config_level"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_NORMAL_QUEST_LEVEL", forward=lambda x:int(x)).style("width: 300px") + with ui.row(): + with ui.card(): + ui.checkbox(config.get_text("config_use_simple_explore")).bind_value(config.userconfigdict, "PUSH_NORMAL_USE_SIMPLE") + ui.checkbox(config.get_text("config_rainbow_teams_desc")).bind_value(config.userconfigdict, "EXPLORE_RAINBOW_TEAMS") + ui.number(config.get_text("config_push_normal_desc"), min=4, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_NORMAL_QUEST", forward=lambda x: int(x)).style("width: 300px") + ui.number(config.get_text("config_level"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_NORMAL_QUEST_LEVEL", forward=lambda x:int(x)).style("width: 300px") + show_fast_run_task_buttons([TaskName.PUSH_NORMAL], config, real_taskname_to_show_taskname, logArea, show_title=False, show_desc=False) # hard explore ui.label(config.get_text("push_hard")).style('font-size: x-large') ui.label(config.get_text("config_explore_attention")) - with ui.card(): - ui.checkbox(config.get_text("config_use_simple_explore")).bind_value(config.userconfigdict, "PUSH_HARD_USE_SIMPLE") - ui.checkbox(config.get_text("config_rainbow_teams_desc")).bind_value(config.userconfigdict, "EXPLORE_RAINBOW_TEAMS") - ui.number(config.get_text("config_push_hard_desc"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_HARD_QUEST", forward=lambda x: int(x)).style("width: 300px") - ui.number(config.get_text("config_level"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_HARD_QUEST_LEVEL", forward=lambda x:int(x)).style("width: 300px") + with ui.row(): + with ui.card(): + ui.checkbox(config.get_text("config_use_simple_explore")).bind_value(config.userconfigdict, "PUSH_HARD_USE_SIMPLE") + ui.checkbox(config.get_text("config_rainbow_teams_desc")).bind_value(config.userconfigdict, "EXPLORE_RAINBOW_TEAMS") + ui.number(config.get_text("config_push_hard_desc"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_HARD_QUEST", forward=lambda x: int(x)).style("width: 300px") + ui.number(config.get_text("config_level"), min=1, precision=0, step=1).bind_value(config.userconfigdict, "PUSH_HARD_QUEST_LEVEL", forward=lambda x:int(x)).style("width: 300px") + show_fast_run_task_buttons([TaskName.PUSH_HARD], config, real_taskname_to_show_taskname, logArea, show_title=False, show_desc=False) + \ No newline at end of file diff --git a/gui/pages/Setting_task_order.py b/gui/pages/Setting_task_order.py index a115e556..fbe366e2 100644 --- a/gui/pages/Setting_task_order.py +++ b/gui/pages/Setting_task_order.py @@ -1,7 +1,5 @@ -from modules.AllTask.myAllTask import TaskName -from gui.components.manage_baah_in_gui import run_baah_task_and_bind_log from nicegui import ui, run - +from gui.components.fast_run_task_buttons import show_fast_run_task_buttons, TaskName def set_task_order(config, real_taskname_to_show_taskname, logArea): with ui.row(): @@ -70,18 +68,5 @@ def del_task(i): # ui.input(config.get_text("config_next_config")).bind_value(config.userconfigdict, 'NEXT_CONFIG',forward=lambda v: v.replace("\\", "/")).style('width: 400px') # 快速调用任务 - ui.label(config.get_text("config_quick_call_task")).style('font-size: x-large') - ui.label(config.get_text("config_desc_quick_call_task")) - - def gui_just_run_one_task(taskname): - async def just_run_one_task(): - config.save_user_config(config.nowuserconfigname) - await run.io_bound(run_baah_task_and_bind_log, logArea, config.nowuserconfigname, taskname) - ui.button(real_taskname_to_show_taskname[taskname], on_click=just_run_one_task) - - gui_just_run_one_task(TaskName.MOMOTALK) - gui_just_run_one_task(TaskName.MAIN_STORY) - gui_just_run_one_task(TaskName.SOLVE_CHALLENGE) - gui_just_run_one_task(TaskName.PUSH_NORMAL) - gui_just_run_one_task(TaskName.PUSH_HARD) + show_fast_run_task_buttons([TaskName.MOMOTALK, TaskName.MAIN_STORY, TaskName.SOLVE_CHALLENGE, TaskName.PUSH_NORMAL, TaskName.PUSH_HARD], config, real_taskname_to_show_taskname, logArea) diff --git a/gui/refactor_pages/json_set_panel.py b/gui/refactor_pages/json_set_panel.py index 369e702d..17171548 100644 --- a/gui/refactor_pages/json_set_panel.py +++ b/gui/refactor_pages/json_set_panel.py @@ -75,7 +75,7 @@ def get_config_list(lst_config: MyConfigger, logArea) -> list: ConfigPanel("task_assault", lambda: set_assault(lst_config), i18n_config=lst_config), ConfigPanel("task_hard", lambda: set_hard(lst_config, gui_shared_config), i18n_config=lst_config), ConfigPanel("task_normal", lambda: set_normal(lst_config), i18n_config=lst_config), - ConfigPanel("setting_explore", lambda: set_explore(lst_config), i18n_config=lst_config), + ConfigPanel("setting_explore", lambda: set_explore(lst_config, task_instances_map.task_config_name_2_i18n_name, logArea), i18n_config=lst_config), ConfigPanel("task_user_def_task", lambda: set_usertask(lst_config), i18n_config=lst_config), ConfigPanel("setting_other", lambda: set_other(lst_config, gui_shared_config), i18n_config=lst_config) ] From 55da14cb9f50f8fd58ef39079756f7da8175776d Mon Sep 17 00:00:00 2001 From: yusen Date: Wed, 5 Feb 2025 14:15:55 +0800 Subject: [PATCH 4/5] Feat: chapter 28 --- DATA/grid_solution/quest/28-1.json | 69 +++++++++++++++ DATA/grid_solution/quest/28-2.json | 79 +++++++++++++++++ DATA/grid_solution/quest/28-3.json | 96 ++++++++++++++++++++ DATA/grid_solution/quest/28-4.json | 91 +++++++++++++++++++ DATA/grid_solution/quest/28-5.json | 113 ++++++++++++++++++++++++ DATA/grid_solution/quest/H28-1.json | 91 +++++++++++++++++++ DATA/grid_solution/quest/H28-2.json | 108 +++++++++++++++++++++++ DATA/grid_solution/quest/H28-3.json | 131 ++++++++++++++++++++++++++++ 8 files changed, 778 insertions(+) create mode 100644 DATA/grid_solution/quest/28-1.json create mode 100644 DATA/grid_solution/quest/28-2.json create mode 100644 DATA/grid_solution/quest/28-3.json create mode 100644 DATA/grid_solution/quest/28-4.json create mode 100644 DATA/grid_solution/quest/28-5.json create mode 100644 DATA/grid_solution/quest/H28-1.json create mode 100644 DATA/grid_solution/quest/H28-2.json create mode 100644 DATA/grid_solution/quest/H28-3.json diff --git a/DATA/grid_solution/quest/28-1.json b/DATA/grid_solution/quest/28-1.json new file mode 100644 index 00000000..2ba8fda7 --- /dev/null +++ b/DATA/grid_solution/quest/28-1.json @@ -0,0 +1,69 @@ +{ + "task_location": 28, + "task_level": 1, + "task_type": "normal", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "left" + }, + { + "name": "B", + "type": "purple", + "position": "right" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "left-down" + }, + { + "team": "A", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right-up" + }, + { + "team": "A", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/28-2.json b/DATA/grid_solution/quest/28-2.json new file mode 100644 index 00000000..dd68c282 --- /dev/null +++ b/DATA/grid_solution/quest/28-2.json @@ -0,0 +1,79 @@ +{ + "task_location": 28, + "task_level": 2, + "task_type": "normal", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "right" + }, + { + "name": "B", + "type": "purple", + "position": "left" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "exchange", + "target": "left" + }, + { + "team": "A", + "action": "move", + "target": "left-up" + }, + { + "team": "B", + "action": "move", + "target": "left" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right-down" + }, + { + "team": "A", + "action": "move", + "target": "left-up" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/28-3.json b/DATA/grid_solution/quest/28-3.json new file mode 100644 index 00000000..8f5e6e71 --- /dev/null +++ b/DATA/grid_solution/quest/28-3.json @@ -0,0 +1,96 @@ +{ + "task_location": 28, + "task_level": 3, + "task_type": "normal", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "up" + }, + { + "name": "B", + "type": "purple", + "position": "down" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "A", + "action": "exchange", + "target": "right-down" + }, + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "exchange", + "target": "left-up" + }, + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "right-down" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/28-4.json b/DATA/grid_solution/quest/28-4.json new file mode 100644 index 00000000..f0426f33 --- /dev/null +++ b/DATA/grid_solution/quest/28-4.json @@ -0,0 +1,91 @@ +{ + "task_location": 28, + "task_level": 4, + "task_type": "normal", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "right" + }, + { + "name": "B", + "type": "purple", + "position": "left" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "exchange", + "target": "right-up" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "left" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-down" + }, + { + "team": "B", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "left" + }, + { + "team": "A", + "action": "move", + "target": "right-down" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/28-5.json b/DATA/grid_solution/quest/28-5.json new file mode 100644 index 00000000..d1eda3d5 --- /dev/null +++ b/DATA/grid_solution/quest/28-5.json @@ -0,0 +1,113 @@ +{ + "task_location": 28, + "task_level": 5, + "task_type": "normal", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "right" + }, + { + "name": "B", + "type": "purple", + "position": "left" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "left-down" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left-down" + }, + { + "team": "B", + "action": "exchange", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "exchange", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-down" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right-up" + }, + { + "team": "A", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right" + }, + { + "team": "A", + "action": "exchange", + "target": "left-up" + }, + { + "team": "A", + "action": "move", + "target": "right-up" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/H28-1.json b/DATA/grid_solution/quest/H28-1.json new file mode 100644 index 00000000..41e70a44 --- /dev/null +++ b/DATA/grid_solution/quest/H28-1.json @@ -0,0 +1,91 @@ +{ + "task_location": 28, + "task_level": 1, + "task_type": "hard", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "left-down" + }, + { + "name": "B", + "type": "purple", + "position": "up" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "exchange", + "target": "left-down" + }, + { + "team": "B", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left-up" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left-down" + }, + { + "team": "B", + "action": "move", + "target": "right" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/H28-2.json b/DATA/grid_solution/quest/H28-2.json new file mode 100644 index 00000000..bb50d5d5 --- /dev/null +++ b/DATA/grid_solution/quest/H28-2.json @@ -0,0 +1,108 @@ +{ + "task_location": 28, + "task_level": 2, + "task_type": "hard", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "right" + }, + { + "name": "B", + "type": "purple", + "position": "down" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right-up" + }, + { + "team": "A", + "action": "exchange", + "target": "left-down" + }, + { + "team": "A", + "action": "move", + "target": "left" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "left-up" + }, + { + "team": "B", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "exchange", + "target": "left" + }, + { + "team": "B", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-down" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "right-up" + }, + { + "team": "A", + "action": "move", + "target": "left-down" + } + ] + ] + } +} \ No newline at end of file diff --git a/DATA/grid_solution/quest/H28-3.json b/DATA/grid_solution/quest/H28-3.json new file mode 100644 index 00000000..bca24a24 --- /dev/null +++ b/DATA/grid_solution/quest/H28-3.json @@ -0,0 +1,131 @@ +{ + "task_location": 28, + "task_level": 3, + "task_type": "hard", + "requires": { + "0": [ + "any" + ] + }, + "0": { + "initial_teams": [ + { + "name": "A", + "type": "red", + "position": "left-up" + }, + { + "name": "B", + "type": "purple", + "position": "down" + }, + { + "name": "C", + "type": "red", + "position": "right" + } + ], + "fight_plan": [ + [ + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "right" + }, + { + "team": "C", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right" + }, + { + "team": "B", + "action": "move", + "target": "right-up" + }, + { + "team": "C", + "action": "exchange", + "target": "left-down" + }, + { + "team": "C", + "action": "move", + "target": "left-down" + } + ], + [ + { + "team": "A", + "action": "move", + "target": "right-up" + }, + { + "team": "B", + "action": "move", + "target": "left-up" + }, + { + "team": "C", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "B", + "action": "move", + "target": "left" + }, + { + "team": "A", + "action": "move", + "target": "left-down" + }, + { + "team": "C", + "action": "move", + "target": "left-up" + } + ], + [ + { + "team": "C", + "action": "move", + "target": "left-up" + }, + { + "team": "B", + "action": "move", + "target": "left" + }, + { + "team": "A", + "action": "exchange", + "target": "right-down" + }, + { + "team": "A", + "action": "exchange", + "target": "left-down" + }, + { + "team": "A", + "action": "move", + "target": "left" + } + ] + ] + } +} \ No newline at end of file From 5ebfacf038fcaa5c1ba7f1c08218783b950b6d76 Mon Sep 17 00:00:00 2001 From: yusen Date: Wed, 5 Feb 2025 14:16:19 +0800 Subject: [PATCH 5/5] 1.9.5 --- modules/configs/MyConfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/configs/MyConfig.py b/modules/configs/MyConfig.py index 5ac9bc62..e8adda54 100644 --- a/modules/configs/MyConfig.py +++ b/modules/configs/MyConfig.py @@ -12,7 +12,7 @@ class MyConfigger: """ 维护config字典,包含软件config,用户任务config,语言包 """ - NOWVERSION="1.9.4" + NOWVERSION="1.9.5" USER_CONFIG_FOLDER="./BAAH_CONFIGS" SOFTWARE_CONFIG_FOLDER="./DATA/CONFIGS" LANGUAGE_PACKAGE_FOLDER="./DATA/i18n"