Exemplo n.º 1
0
def see_scene_panel():
    """
    当前场景信息面板
    """
    title_text = text_loading.get_text_data(constant.FilePath.STAGE_WORD_PATH,
                                            "75")
    era_print.little_title_print(title_text)
    time_text = game_time.get_date_text()
    era_print.normal_print(time_text)
    era_print.normal_print(" ")
    scene_path = cache_contorl.character_data["character"][0].position
    scene_path_str = map_handle.get_map_system_path_str_for_list(scene_path)
    map_list = map_handle.get_map_hierarchy_list_for_scene_path(scene_path, [])
    map_path_text = ""
    map_list.reverse()
    for now_map in map_list:
        now_map_map_system_str = map_handle.get_map_system_path_str_for_list(
            now_map)
        map_name = cache_contorl.map_data[now_map_map_system_str]["MapName"]
        map_path_text += map_name + "-"
    scene_data = cache_contorl.scene_data[scene_path_str].copy()
    scene_name = map_path_text + scene_data["SceneName"]
    scene_info_head = text_loading.get_text_data(
        constant.FilePath.STAGE_WORD_PATH, "76")
    scene_info = scene_info_head + scene_name
    era_print.normal_print(scene_info)
    panel_state = cache_contorl.panel_state["SeeSceneCharacterListPage"]
    switch = panel_state_on_text
    if panel_state == "0":
        switch = panel_state_off_text
    scene_character_list = scene_data["SceneCharacterData"]
    if len(scene_character_list) > 1:
        era_print.normal_print(" ")
        py_cmd.pcmd(switch, "SeeSceneCharacterListPage")
    era_print.little_line_print()
Exemplo n.º 2
0
def main_frame_panel() -> list:
    """
    游戏主菜单
    """
    cmd_list = []
    character_id = cache_contorl.character_data[0].target_character_id
    character_data = cache_contorl.character_data[character_id]
    title_text = text_loading.get_text_data(constant.FilePath.STAGE_WORD_PATH,
                                            "64")
    era_print.little_title_print(title_text)
    date_text = game_time.get_date_text()
    era_print.normal_print(date_text)
    era_print.normal_print(" ")
    week_date_text = game_time.get_week_day_text()
    era_print.normal_print(week_date_text)
    era_print.normal_print(" ")
    character_name = character_data.name
    py_cmd.pcmd(character_name, character_name, None)
    cmd_list.append(character_name)
    era_print.normal_print(" ")
    gold_text = attr_text.get_gold_text(character_id)
    era_print.line_feed_print(gold_text)
    attr_print.print_hp_and_mp_bar(character_id)
    main_menu_text = text_loading.get_text_data(
        constant.FilePath.STAGE_WORD_PATH, "68")
    era_print.son_title_print(main_menu_text)
    era_print.line_feed_print("\n")
    ask_for_main_menu = cmd_button_queue.option_int(constant.CmdMenu.MAIN_MENU,
                                                    3,
                                                    "left",
                                                    askfor=False,
                                                    cmd_size="center")
    cmd_list = cmd_list + ask_for_main_menu
    system_menu_text = text_loading.get_text_data(
        constant.FilePath.STAGE_WORD_PATH, "69")
    era_print.son_title_print(system_menu_text)
    era_print.line_feed_print()
    system_menu_start_id = len(ask_for_main_menu)
    ask_for_system_menu = cmd_button_queue.option_int(
        constant.CmdMenu.SYSTEM_MENU,
        4,
        "left",
        askfor=False,
        cmd_size="center",
        start_id=system_menu_start_id,
    )
    cmd_list = cmd_list + ask_for_system_menu
    return cmd_list
def see_save_list_panel(page_save_value: int,
                        last_save_page_value: int,
                        auto_save=False) -> list:
    """
    查看存档页面面板
    Keyword arguments:
    page_save_value -- 单页最大存档显示数量
    last_save_page_value -- 最后一页存档显示数量
    auto_save -- 自动存档显示开关 (default False)
    """
    save_panel_page = int(cache_contorl.panel_state["SeeSaveListPanel"]) + 1
    input_s = []
    id_text_list = []
    id_info_text = text_loading.get_text_data(
        constant.FilePath.STAGE_WORD_PATH, "72")
    text_width = int(game_config.text_width)
    save_none_text = text_loading.get_text_data(constant.FilePath.MESSAGE_PATH,
                                                "20")
    if save_panel_page == int(game_config.save_page) + 1:
        start_save_id = int(page_save_value) * (save_panel_page - 1)
        over_save_id = start_save_id + last_save_page_value
    else:
        over_save_id = int(page_save_value) * save_panel_page
        start_save_id = over_save_id - int(page_save_value)
    for i in range(0, over_save_id - start_save_id):
        id = cmd_button_queue.id_index(i)
        save_id = start_save_id + i
        if auto_save and not save_handle.judge_save_file_exist(str(save_id)):
            id_text = id_info_text + " " + str(save_id) + ":"
            id_text_list.append(id_text)
        else:
            id_text = id + id_info_text + " " + str(save_id) + ":"
            id_text_list.append(id_text)
    for i in range(0, over_save_id - start_save_id):
        id = str(i)
        id_text = id_text_list[i]
        era_print.little_line_print()
        save_id = str(save_handle.get_save_page_save_id(page_save_value, i))
        if save_handle.judge_save_file_exist(save_id):
            save_info_head = save_handle.load_save_info_head(save_id)
            game_time_data = save_info_head["game_time"]
            game_time_text = game_time.get_date_text(game_time_data)
            character_name = save_info_head["character_name"]
            save_verson = save_info_head["game_verson"]
            save_text = (character_name + " " + game_time_text + " " +
                         save_verson)
            id_text_index = int(text_handle.get_text_index(id_text))
            fix_id_width = text_width - id_text_index
            save_align = text_handle.align(save_text,
                                           "center",
                                           text_width=fix_id_width)
            id_text = id_text + save_align
            py_cmd.pcmd(id_text, id, None)
            input_s.append(id)
            era_print.normal_print("\n")
        else:
            id_text_index = int(text_handle.get_text_index(id_text))
            fix_id_width = text_width - id_text_index
            save_none_align = text_handle.align(save_none_text,
                                                "center",
                                                text_width=fix_id_width)
            id_text = id_text + save_none_align
            if auto_save:
                era_print.normal_print(id_text)
            else:
                py_cmd.pcmd(id_text, id, None)
                input_s.append(id)
        era_print.line_feed_print()
    if auto_save:
        auto_info_text = text_loading.get_text_data(
            constant.FilePath.STAGE_WORD_PATH, "73")
        i = page_save_value
        id = cmd_button_queue.id_index(i)
        era_print.little_line_print()
        if save_handle.judge_save_file_exist("auto"):
            save_info_head = save_handle.load_save_info_head("auto")
            game_time_data = save_info_head["game_time"]
            game_time_text = game_time.get_date_text(game_time_data)
            character_name = save_info_head["character_name"]
            save_verson = save_info_head["game_verson"]
            save_text = (character_name + " " + game_time_text + " " +
                         save_verson)
            id_text = id + auto_info_text
            id_text_index = int(text_handle.get_text_index(id_text))
            fix_id_width = text_width - id_text_index
            save_text_align = text_handle.align(save_text,
                                                "center",
                                                text_width=fix_id_width)
            id_text = id_text + save_text_align
            py_cmd.pcmd(id_text, id, None)
            input_s.append(id)
            era_print.line_feed_print()
        else:
            id_text_index = int(text_handle.get_text_index(auto_info_text))
            fix_id_width = text_width - id_text_index
            save_none_align = text_handle.align(save_none_text,
                                                "center",
                                                text_width=fix_id_width)
            id_text = auto_info_text + save_none_align
            era_print.normal_print(id_text)
            era_print.line_feed_print()
    return input_s