Esempio n. 1
0
 def draw(self):
     """ 绘制面板 """
     old_button_draw = draw.CenterButton(_("[上一人]"),
                                         _("上一人"),
                                         self.width / 3,
                                         cmd_func=self.old_character)
     next_button_draw = draw.CenterButton(_("[下一人]"),
                                          _("下一人"),
                                          self.width / 3,
                                          cmd_func=self.next_character)
     back_draw = draw.CenterButton(_("[返回]"), _("返回"), self.width / 3)
     now_panel_id = _("属性")
     while 1:
         self.return_list = []
         now_character_panel = SeeCharacterInfoPanel(
             self.character_id, self.width)
         now_character_panel.change_panel(now_panel_id)
         now_character_panel.draw()
         old_button_draw.draw()
         back_draw.draw()
         next_button_draw.draw()
         self.return_list.extend(now_character_panel.return_list)
         self.return_list.append(old_button_draw.return_text)
         self.return_list.append(back_draw.return_text)
         self.return_list.append(next_button_draw.return_text)
         yrn = flow_handle.askfor_all(self.return_list)
         py_cmd.clr_cmd()
         if yrn == back_draw.return_text:
             break
         elif yrn in now_character_panel.draw_data:
             now_panel_id = yrn
def confirm_character_attr_panel():
    """ 确认角色属性面板 """
    now_attr_panel = see_character_info_panel.SeeCharacterInfoPanel(0, width)
    askfor_panel = panel.OneMessageAndSingleColumnButton()
    while 1:
        line_feed_draw.draw()
        now_attr_panel.draw()
        ask_list = []
        ask_list.extend(now_attr_panel.return_list)
        now_line = draw.LineDraw("~", width)
        now_line.draw()
        askfor_list = [_("就这样开始新的人生吧"), _("重头再来一次")]
        start_id = 0
        now_id_judge = 0
        now_id_list = []
        for now_id in ask_list:
            if now_id.isdigit():
                now_id_judge = 1
                now_id_list.append(int(now_id))
        if now_id_judge:
            start_id = max(now_id_list) + 1
        askfor_panel.set(askfor_list, _("就这样了可以吗?"), start_id)
        askfor_panel.draw()
        askfor_panel_return_list = askfor_panel.get_return_list()
        ask_list.extend(askfor_panel_return_list.keys())
        item_panel_ask_list = []
        item_old_page_id = ""
        item_next_page_id = ""
        yrn = flow_handle.askfor_all(ask_list)
        if yrn in askfor_panel_return_list:
            return askfor_panel_return_list[yrn] == askfor_list[0]
Esempio n. 3
0
 def draw(self):
     """ 绘制对象 """
     py_cmd.clr_cmd()
     if self.handle_panel != None:
         while 1:
             line_feed.draw()
             title_draw = draw.TitleLineDraw(_("更衣室"), self.width)
             title_draw.draw()
             self.return_list = []
             self.handle_panel.update()
             self.handle_panel.update_button()
             self.handle_panel.draw()
             self.return_list.extend(self.handle_panel.return_list)
             back_draw = draw.CenterButton(_("[返回]"), _("返回"), self.width)
             back_draw.draw()
             self.return_list.append(back_draw.return_text)
             yrn = flow_handle.askfor_all(self.return_list)
             py_cmd.clr_cmd()
             if yrn == back_draw.return_text:
                 break
     else:
         now_text = _("空无一物")
         now_draw = draw.WaitDraw()
         now_draw.text = now_text
         now_draw.width = self.width
         now_draw.draw()
         line_feed.draw()
Esempio n. 4
0
 def draw(self):
     """ 绘制对象 """
     while 1:
         if cache.back_save_panel:
             cache.back_save_panel = 0
             break
         line_feed.draw()
         title_draw = draw.TitleLineDraw(_("存档列表"), self.width)
         title_draw.draw()
         self.return_list = []
         auto_save_draw = SaveInfoDraw(["auto", 0], self.width, 1, 0, 0)
         auto_save_draw.draw()
         line_feed.draw()
         self.return_list.append("auto")
         now_line = draw.LineDraw(".", self.width)
         now_line.draw()
         self.handle_panel.update()
         self.handle_panel.draw()
         self.return_list.extend(self.handle_panel.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), self.width)
         back_draw.draw()
         line_feed.draw()
         self.return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(self.return_list)
         py_cmd.clr_cmd()
         if yrn == back_draw.return_text:
             break
def input_sex_panel() -> bool:
    """
    选择性别面板
    Return arguments:
    bool -- 完成角色创建校验
    """
    create_judge = 0
    character_data = cache.character_data[0]
    sex_list = [
        game_config.config_sex_tem[x].name for x in game_config.config_sex_tem
    ] + [_("随机")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(
        sex_list,
        _("那么{character_nick_name}的性别是?").format(
            character_nick_name=character_data.nick_name))
    return_list = button_panel.get_return_list()
    line_feed_draw.draw()
    line.draw()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    now_id = int(ans)
    if now_id == len(return_list) - 1:
        now_id = random.randint(0, now_id - 1)
    character_data.sex = now_id
    create_judge = input_setting_panel()
    return create_judge
Esempio n. 6
0
 def see_character_list(self):
     """ 绘制角色列表 """
     py_cmd.clr_cmd()
     line_feed.draw()
     title_draw = draw.TitleLineDraw(_("角色列表"), self.width)
     handle_panel = panel.PageHandlePanel(
         list(cache.character_data.keys()),
         see_character_info_panel.GetUpCharacterInfoDraw,
         10,
         1,
         self.width,
         1,
         1,
         0,
         "-",
     )
     while 1:
         title_draw.draw()
         self.return_list = []
         handle_panel.update()
         handle_panel.draw()
         self.return_list.extend(handle_panel.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), self.width)
         back_draw.draw()
         self.return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(self.return_list)
         py_cmd.clr_cmd()
         if yrn == back_draw.return_text:
             break
Esempio n. 7
0
 def draw(self):
     """ 绘制对象 """
     character_data: game_type.Character = cache.character_data[0]
     scene_position = character_data.position
     scene_position_str = map_handle.get_map_system_path_str_for_list(
         scene_position)
     scene_name = cache.scene_data[scene_position_str].scene_name
     title_draw = draw.TitleLineDraw(scene_name, self.width)
     handle_panel = panel.PageHandlePanel([], BuyItemByItemNameDraw, 10, 5,
                                          self.width, 1, 1, 0)
     while 1:
         return_list = []
         title_draw.draw()
         item_list = [
             i for i in game_config.config_item
             if i not in character_data.item
         ]
         handle_panel.text_list = item_list
         handle_panel.update()
         handle_panel.draw()
         return_list.extend(handle_panel.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), window_width)
         back_draw.draw()
         return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(return_list)
         if yrn == back_draw.return_text:
             cache.now_panel_id = constant.Panel.IN_SCENE
             break
Esempio n. 8
0
 def draw_save_handle(self):
     """ 处理读写存档 """
     py_cmd.clr_cmd()
     line_feed.draw()
     if self.save_exist_judge:
         now_ask_list = []
         now_id = 0
         load_save_button = draw.Button(text_handle.id_index(now_id) +
                                        _("读取"),
                                        str(now_id),
                                        cmd_func=self.load_save)
         load_save_button.width = self.width
         load_save_button.draw()
         line_feed.draw()
         now_ask_list.append(str(now_id))
         now_id += 1
         if self.write_save:
             re_write_save_button = draw.Button(
                 text_handle.id_index(now_id) + _("覆盖"),
                 str(now_id),
                 cmd_func=save_handle.establish_save,
                 args=(self.text, ),
             )
             re_write_save_button.width = self.width
             re_write_save_button.draw()
             now_ask_list.append(str(now_id))
             line_feed.draw()
             now_id += 1
         delete_save_button = draw.Button(text_handle.id_index(now_id) +
                                          _("删除"),
                                          str(now_id),
                                          cmd_func=self.delete_save)
         delete_save_button.width = self.width
         delete_save_button.draw()
         now_ask_list.append(str(now_id))
         now_id += 1
         line_feed.draw()
         back_button = draw.Button(
             text_handle.id_index(now_id) + _("返回"), str(now_id))
         back_button.width = self.width
         back_button.draw()
         line_feed.draw()
         now_ask_list.append(str(now_id))
         flow_handle.askfor_all(now_ask_list)
         py_cmd.clr_cmd()
     else:
         save_handle.establish_save(self.text)
Esempio n. 9
0
def see_map_flow():
    """
    地图查看流程
    """
    while True:
        py_cmd.clr_cmd()
        input_s = []
        map_cmd = see_map_panel.see_map_panel()
        start_id_1 = len(map_cmd)
        input_s = input_s + map_cmd
        move_path_cmd_data = see_map_panel.see_move_path_panel()
        move_path_cmd = move_path_cmd_data["input_s"]
        move_path_list = move_path_cmd_data["scene_path_list"]
        show_scene_name_list_cmd = see_map_panel.show_scene_name_list_panel()
        see_map_cmd = see_map_panel.back_scene_panel(start_id_1)
        input_s += see_map_cmd + move_path_cmd + [show_scene_name_list_cmd]
        yrn = flow_handle.askfor_all(input_s)
        back_button = str(start_id_1)
        now_position = cache_contorl.character_data["character"][0].position
        now_position_map = map_handle.get_map_for_path(now_position)
        up_map_button = "Null"
        down_map_button = "Null"
        if now_position_map != [] and cache_contorl.now_map != []:
            up_map_button = str(int(start_id_1) + 1)
        if now_position_map != cache_contorl.now_map:
            if up_map_button == "Null":
                down_map_button = str(int(start_id_1) + 1)
            else:
                down_map_button = str(int(start_id_1) + 2)
        now_map = cache_contorl.now_map.copy()
        if yrn in map_cmd:
            now_target_path = map_handle.get_scene_path_for_map_scene_id(
                now_map, yrn)
            character_move.own_charcter_move(now_target_path)
            break
        elif yrn == back_button:
            cache_contorl.now_map = []
            cache_contorl.now_flow_id = "in_scene"
            break
        elif yrn in move_path_cmd:
            move_list_id = move_path_cmd.index(yrn)
            move_id = move_path_list[move_list_id]
            now_target_path = map_handle.get_scene_path_for_map_scene_id(
                now_map, move_id)
            character_move.own_charcter_move(now_target_path)
            break
        elif up_map_button != "Null" and yrn == up_map_button:
            up_map_path = map_handle.get_map_for_path(now_map)
            cache_contorl.now_map = up_map_path
        elif down_map_button != "Null" and yrn == down_map_button:
            character_position = cache_contorl.character_data["character"][
                0].position
            down_map_scene_id = map_handle.get_map_scene_id_for_scene_path(
                cache_contorl.now_map, character_position)
            now_map.append(down_map_scene_id)
            cache_contorl.now_map = now_map
        elif yrn == show_scene_name_list_cmd:
            panel_state_handle.panel_state_change(show_scene_name_list_cmd)
Esempio n. 10
0
def setting_nature_12_panel():
    """ 设置性格区间:耐性 """
    character_data = cache.character_data[0]
    message = _("对工作会倾注全部的热情?")
    ask_list = [_("是"), _("不是")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[12] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 11
0
def setting_nature_8_panel():
    """ 设置性格区间:沉稳 """
    character_data = cache.character_data[0]
    message = _("即使在一些很随便的场合,也会表现得很严肃对吗?")
    ask_list = [_("会"), _("不会")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[8] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 12
0
def setting_nature_6_panel():
    """ 设置性格区间:严谨 """
    character_data = cache.character_data[0]
    message = _("对于自己的任务,会一丝不苟的去完成吗?")
    ask_list = [_("会"), _("不会")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[6] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 13
0
def setting_nature_3_panel():
    """ 设置性格倾向:守信 """
    character_data = cache.character_data[0]
    message = _(f"承诺过的事情就一定要做到?")
    ask_list = [_("会"), _("视情况而定")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[3] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 14
0
def setting_nature_13_panel():
    """ 设置性格区间:爽直 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}是一个心直口快,想到什么说什么的人对吗?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [_("是"), _("不是")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[13] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 15
0
def setting_nature_2_panel():
    """ 设置性格倾向:乐观 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}有憧憬过未来的人生吗?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [_("有"), _("没有")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[2] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 16
0
def setting_nature_0_panel():
    """ 设置性格倾向:活跃 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}是否是一个有话就说,从来不憋在心里的人呢?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [_("是"), _("不是")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.nature[0] = abs(random.randint(0, 100) - int(ans) * 50)
Esempio n. 17
0
def see_character_clothes_list(clothing_type: str):
    """
    查看角色服装列表流程
    Keyword arguments:
    clothing_type -- 服装类型
    """
    clothing_type_list = list(clothing.clothing_type_text_list.keys())
    while True:
        now_clothing_type_index = clothing_type_list.index(clothing_type)
        up_type_id = now_clothing_type_index - 1
        if now_clothing_type_index == 0:
            up_type_id = len(clothing_type_list) - 1
        next_type_id = now_clothing_type_index + 1
        if now_clothing_type_index == len(clothing_type_list) - 1:
            next_type_id = 0
        up_type = clothing_type_list[up_type_id]
        next_type = clothing_type_list[next_type_id]
        character_id = cache_contorl.character_data[0].target_character_id
        change_clothes_panel.see_character_clothes_info(character_id)
        page_max = get_character_clothes_page_max(character_id, clothing_type)
        input_s = change_clothes_panel.see_character_clothes_panel(
            character_id, clothing_type, page_max)
        start_id = len(input_s)
        input_s += change_clothes_panel.see_character_clothes_cmd(
            start_id, clothing_type)
        yrn = flow_handle.askfor_all(input_s)
        yrn = int(yrn)
        py_cmd.clr_cmd()
        now_page_id = int(
            cache_contorl.panel_state["SeeCharacterClothesPanel"])
        if yrn == start_id:
            clothing_type = up_type
        elif yrn == start_id + 1:
            if now_page_id == 0:
                cache_contorl.panel_state["SeeCharacterClothesPanel"] = str(
                    page_max)
            else:
                cache_contorl.panel_state["SeeCharacterClothesPanel"] = str(
                    now_page_id - 1)
        elif yrn == start_id + 2:
            break
        elif yrn == start_id + 3:
            if now_page_id == page_max:
                cache_contorl.panel_state["SeeCharacterClothesPanel"] = "0"
            else:
                cache_contorl.panel_state["SeeCharacterClothesPanel"] = str(
                    now_page_id + 1)
        elif yrn == start_id + 4:
            clothing_type = next_type
        else:
            clothing_id = list(cache_contorl.character_data[character_id].
                               clothing[clothing_type].keys())[yrn]
            ask_see_clothing_info(clothing_type, clothing_id, character_id)
Esempio n. 18
0
def scene_see_character_wear_item(character_id: int):
    """
    在场景中查看角色穿戴道具列表的流程
    Keyword arguments:
    character_id -- 角色Id
    """
    while 1:
        now_input_s = wear_item_panel.see_character_wear_item_panel_for_player(
            character_id)
        now_yrn = flow_handle.askfor_all(now_input_s)
        if now_yrn == now_input_s[:-1]:
            cache_contorl.now_flow_id = "main"
            break
Esempio n. 19
0
 def draw(self):
     """ 绘制对象 """
     scene_position = cache.character_data[0].position
     scene_position_str = map_handle.get_map_system_path_str_for_list(
         scene_position)
     scene_name = cache.scene_data[scene_position_str].scene_name
     title_draw = draw.TitleLineDraw(scene_name, self.width)
     food_type_list = [_("主食"), _("零食"), _("饮品"), _("水果"), _("食材"), _("调料")]
     self.handle_panel = panel.PageHandlePanel([],
                                               SeeFoodListByFoodNameDraw,
                                               10, 5, self.width, 1, 1, 0)
     while 1:
         py_cmd.clr_cmd()
         food_name_list = list(
             cooking.get_restaurant_food_type_list_buy_food_type(
                 self.now_panel).items())
         self.handle_panel.text_list = food_name_list
         self.handle_panel.update()
         title_draw.draw()
         return_list = []
         for food_type in food_type_list:
             if food_type == self.now_panel:
                 now_draw = draw.CenterDraw()
                 now_draw.text = f"{food_type}]"
                 now_draw.style = "onbutton"
                 now_draw.width = self.width / len(food_type_list)
                 now_draw.draw()
             else:
                 now_draw = draw.CenterButton(
                     f"[{food_type}]",
                     food_type,
                     self.width / len(food_type_list),
                     cmd_func=self.change_panel,
                     args=(food_type, ),
                 )
                 now_draw.draw()
                 return_list.append(now_draw.return_text)
         line_feed.draw()
         line = draw.LineDraw("+", self.width)
         line.draw()
         self.handle_panel.draw()
         return_list.extend(self.handle_panel.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), window_width)
         back_draw.draw()
         line_feed.draw()
         return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(return_list)
         if yrn == back_draw.return_text:
             cache.now_panel_id = constant.Panel.IN_SCENE
             break
Esempio n. 20
0
 def draw(self):
     """ 绘制面板 """
     while 1:
         line_feed.draw()
         self.now_draw.draw()
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), self.width)
         back_draw.draw()
         now_draw_list = self.now_draw.return_list
         ask_list = []
         ask_list.extend(now_draw_list)
         ask_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(ask_list)
         py_cmd.clr_cmd()
         if yrn == back_draw.return_text:
             break
Esempio n. 21
0
def setting_sex_experience_panel():
    """ 设置性经验模板 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}是否有过性经验呢?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [
        _("性经验什么的完全没有过,你在问什么呢!变态!"),
        _("只有极少的性经验哦,说是纯情也不为过。"),
        _("大概只是普通的程度吧?不多也不少的样子。"),
        _("经验非常丰富,特别有技巧哦,哼哼。"),
    ]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.sex_experience_tem = int(ans)
Esempio n. 22
0
 def draw(self):
     """ 绘制对象 """
     title_draw = draw.TitleLineDraw(_("食物背包"), self.width)
     food_type_list = [_("主食"), _("零食"), _("饮品"), _("水果"), _("食材"), _("调料")]
     food_id_list = list(
         cooking.get_character_food_bag_type_list_buy_food_type(
             0, self.now_panel).items())
     self.handle_panel = panel.PageHandlePanel(food_id_list,
                                               SeeFoodListByFoodNameDraw,
                                               10, 1, window_width, 1, 1, 0)
     while 1:
         if cache.now_panel_id != constant.Panel.FOOD_BAG:
             break
         self.handle_panel.update()
         title_draw.draw()
         line_feed.draw()
         return_list = []
         for food_type in food_type_list:
             if food_type == self.now_panel:
                 now_draw = draw.CenterDraw()
                 now_draw.text = f"[{food_type}]"
                 now_draw.style = "onbutton"
                 now_draw.width = self.width / len(food_type_list)
                 now_draw.draw()
             else:
                 now_draw = draw.CenterButton(
                     f"[{food_type}]",
                     food_type,
                     self.width / len(food_type_list),
                     cmd_func=self.change_panel,
                     args=(food_type, ),
                 )
                 now_draw.draw()
                 return_list.append(now_draw.return_text)
         line = draw.LineDraw("+", self.width)
         line.draw()
         self.handle_panel.draw()
         return_list.extend(self.handle_panel.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), window_width)
         back_draw.draw()
         return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(return_list)
         if yrn == back_draw.return_text:
             cache.now_panel_id = constant.Panel.IN_SCENE
             break
Esempio n. 23
0
def setting_age_tem_panel():
    """ 设置年龄模板 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}是一个小孩子吗?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [
        _("嘎呜~嘎呜~"),
        _("才,才不是小孩子!"),
        _("已经成年了哦~"),
        _("我也想回到小时候呢~"),
        _("你说什么?我听不清~"),
    ]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.sex = int(ans)
Esempio n. 24
0
def setting_weight_panel():
    """ 设置体重模板 """
    character_data = cache.character_data[0]
    message = _("{character_nick_name}对自己的体重有自信吗?").format(
        character_nick_name=character_data.nick_name)
    ask_list = [
        _("很轻,就像一张纸一样,风一吹就能飘起来。"),
        _("普普通通,健康的身材。"),
        _("略沉,不过从外表不怎么能够看得出来。"),
        _("肉眼可辨的比别人要胖很多。"),
        _("人类的极限,看上去像是相扑选手一样。"),
    ]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(ask_list, message)
    return_list = button_panel.get_return_list()
    button_panel.draw()
    ans = flow_handle.askfor_all(return_list.keys())
    character_data.weigt_tem = int(ans)
Esempio n. 25
0
def wear_character_item():
    """
    查看并更换角色穿戴道具流程
    """
    character_id = cache_contorl.character_data[0].target_character_id
    while 1:
        input_s = wear_item_panel.see_character_wear_item_panel_for_player(
            character_id)
        start_id = len(input_s)
        input_s += wear_item_panel.see_character_wear_item_cmd_panel(start_id)
        yrn = flow_handle.askfor_all(input_s)
        py_cmd.clr_cmd()
        if yrn == str(len(input_s) - 1):
            cache_contorl.now_flow_id = "main"
            break
        else:
            wear_item_info_text_data = text_loading.get_text_data(
                constant.FilePath.STAGE_WORD_PATH, "49")
            change_wear_item(list(wear_item_info_text_data.keys())[int(yrn)])
Esempio n. 26
0
 def draw(self):
     """ 绘制面板 """
     while 1:
         line_feed.draw()
         title_draw = draw.TitleLineDraw(_("主页"), self.width)
         character_data = cache.character_data[0]
         title_draw.draw()
         game_time_draw = game_info_panel.GameTimeInfoPanel(self.width / 2)
         game_time_draw.now_draw.width = len(game_time_draw)
         game_time_draw.draw()
         line_feed.draw()
         line_feed.draw()
         player_info_draw = see_character_info_panel.CharacterInfoHead(
             0, self.width)
         player_info_draw.draw_title = 0
         player_info_draw.draw()
         line_feed.draw()
         game_menu_titie = draw.LittleTitleLineDraw(_("游戏菜单"), self.width)
         game_menu_titie.draw()
         get_up_button = draw.CenterButton(_("[000]睁眼起床"), "0",
                                           self.width / 3)
         get_up_button.draw()
         see_character_list_button = draw.CenterButton(
             _("[001]查看属性"),
             "1",
             self.width / 3,
             cmd_func=self.see_character_list)
         see_character_list_button.draw()
         save_button = draw.CenterButton(_("[002]读写存档"),
                                         "2",
                                         self.width / 3,
                                         cmd_func=self.see_save_handle)
         save_button.draw()
         line_feed.draw()
         return_list = [
             get_up_button.return_text,
             see_character_list_button.return_text,
             save_button.return_text,
         ]
         yrn = flow_handle.askfor_all(return_list)
         if yrn == "0":
             cache.now_panel_id = constant.Panel.IN_SCENE
             break
Esempio n. 27
0
def change_wear_item(item_type: str) -> bool:
    """
    更换角色穿戴道具流程
    Keyword arguments:
    item_type -- 道具类型
    """
    character_id = cache_contorl.character_data[0].target_character_id
    max_page = get_character_wear_item_page_max(character_id)
    input_s = wear_item_panel.see_character_wear_item_list_panel(
        character_id, item_type, max_page)
    if input_s == []:
        return
    yrn = flow_handle.askfor_all(input_s)
    if yrn == input_s[:-1]:
        return
    else:
        cache_contorl.character_data[character_id].wear_item["Wear"][
            item_type] = list(
                cache_contorl.character_data[character_id].wear_item["Item"]
                [item_type].keys())[int(yrn)]
Esempio n. 28
0
 def see_food_shop_food_list(self):
     """ 按食物名字显示食物商店的食物列表 """
     title_draw = draw.TitleLineDraw(self.text, window_width)
     page_handle = panel.PageHandlePanel(self.uid_list,
                                         EatFoodByFoodNameDraw, 10, 1,
                                         window_width, 1, 1, 0)
     while 1:
         if cache.now_panel_id != constant.Panel.FOOD_BAG:
             break
         return_list = []
         title_draw.draw()
         page_handle.update()
         page_handle.draw()
         return_list.extend(page_handle.return_list)
         back_draw = draw.CenterButton(_("[返回]"), _("返回"), window_width)
         back_draw.draw()
         return_list.append(back_draw.return_text)
         yrn = flow_handle.askfor_all(return_list)
         if yrn == back_draw.return_text:
             break
Esempio n. 29
0
def change_character_clothes():
    """
    更换角色服装流程
    """
    character_id = cache_contorl.character_data[0].target_character_id
    character_clothing_data = cache_contorl.character_data[
        character_id].clothing
    change_clothes_panel.see_character_wear_clothes_info(character_id)
    cmd_list_1 = change_clothes_panel.see_character_wear_clothes(
        character_id, True)
    start_id = len(character_clothing_data.keys())
    input_s = change_clothes_panel.see_character_wear_clothes_cmd(start_id)
    input_s = cmd_list_1 + input_s
    yrn = flow_handle.askfor_all(input_s)
    py_cmd.clr_cmd()
    if yrn == str(start_id):
        cache_contorl.now_flow_id = "main"
    else:
        clothing_type = list(clothing.clothing_type_text_list.keys())[int(yrn)]
        see_character_clothes_list(clothing_type)
Esempio n. 30
0
def title_panel():
    """ 绘制游戏标题菜单 """
    clear_screen = panel.ClearScreenPanel()
    clear_screen.draw()
    width = config_normal.text_width
    title_info = panel.TitleAndRightInfoListPanel()
    game_name = config_normal.game_name
    info_list = [
        config_normal.author, config_normal.verson, config_normal.verson_time
    ]
    title_info.set(config_normal.game_name, info_list, width)
    title_info.draw()
    lineFeed = draw.NormalDraw()
    lineFeed.width = 1
    lineFeed.text = "\n"
    info = _("人类是可以被驯化的")
    lineFeed.draw()
    info_draw = draw.CenterDraw()
    info_draw.text = info
    info_draw.width = width
    info_draw.draw()
    lineFeed.draw()
    lineFeed.draw()
    line = draw.LineDraw("=", width)
    line.draw()
    now_list = [_("开始游戏"), _("读取存档"), _("退出游戏")]
    button_panel = panel.OneMessageAndSingleColumnButton()
    button_panel.set(now_list, "", 0)
    button_panel.draw()
    return_list = button_panel.get_return_list()
    ans = flow_handle.askfor_all(return_list.keys())
    py_cmd.clr_cmd()
    now_key = return_list[ans]
    if now_key == now_list[0]:
        cache.now_panel_id = constant.Panel.CREATOR_CHARACTER
    elif now_key == now_list[1]:
        now_panel = see_save_info_panel.SeeSaveListPanel(width, 0)
        now_panel.draw()
    elif now_key == now_list[2]:
        os._exit(0)