Esempio n. 1
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. 2
0
 def __init__(self, character_id: int, width: int):
     """ 初始化绘制对象 """
     self.character_id: int = character_id
     """ 要绘制的角色id """
     self.width: int = width
     """ 面板最大宽度 """
     self.draw_list: List[draw.NormalDraw] = []
     """ 绘制的文本列表 """
     self.return_list: List[str] = []
     """ 当前面板监听的按钮列表 """
     character_data = cache.character_data[self.character_id]
     for social_type in game_config.config_social_type:
         type_config = game_config.config_social_type[social_type]
         type_draw = draw.LittleTitleLineDraw(type_config.name, self.width,
                                              ":")
         self.draw_list.append(type_draw)
         now_draw = draw.CenterDraw()
         if social_type in character_data.social_contact and len(
                 character_data.social_contact[social_type]):
             character_list = list(
                 character_data.social_contact[social_type])
             now_draw = panel.PageHandlePanel(character_list,
                                              SeeCharacterInfoByNameDraw,
                                              10, 5, self.width, 1, 1, 0)
         else:
             now_draw.text = _("空无一人")
             now_draw.width = self.width
         self.draw_list.append(now_draw)
Esempio n. 3
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. 4
0
 def __init__(self, width: int, write_save: bool):
     """ 初始化绘制对象 """
     self.width: int = width
     """ 最大绘制宽度 """
     self.return_list: List[str] = []
     """ 当前面板监听的按钮列表 """
     now_list = [(i, write_save)
                 for i in range(normal_config.config_normal.max_save)]
     self.handle_panel = panel.PageHandlePanel(
         now_list, SaveInfoDraw, normal_config.config_normal.save_page, 1,
         width, 1, 1, 0, "=-=")
     """ 页面控制对象 """
Esempio n. 5
0
 def __init__(self, now_map: List[str], width: int):
     self.width: int = width
     """ 绘制的最大宽度 """
     self.now_map: List[str] = now_map
     """ 当前查看的地图坐标 """
     self.return_list: List[str] = []
     """ 当前面板的按钮返回 """
     self.end_index: int = 0
     """ 结束按钮id """
     self.handle_panel = panel.PageHandlePanel(self.get_path_list(),
                                               ScenePathNameMoveDraw, 20, 3,
                                               self.width, 1)
     self.end_index = self.handle_panel.end_index
Esempio n. 6
0
 def change_panel(self, food_type: str):
     """
     切换当前面板显示的食物类型
     Keyword arguments:
     food_type -- 要切换的食物类型
     """
     self.now_panel = food_type
     food_name_list = list(
         cooking.get_restaurant_food_type_list_buy_food_type(
             self.now_panel).items())
     self.handle_panel = panel.PageHandlePanel(food_name_list,
                                               SeeFoodListByFoodNameDraw,
                                               10, 5, self.width, 1, 1, 0)
Esempio n. 7
0
 def change_panel(self, food_type: str):
     """
     切换当前面板显示的食物类型
     Keyword arguments:
     food_type -- 要切换的食物类型
     """
     self.now_panel = food_type
     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, 5, window_width, 1, 1, 0)
Esempio n. 8
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. 9
0
 def __init__(self, character_id: int, width: int):
     """ 初始化绘制对象 """
     self.character_id: int = character_id
     """ 绘制的角色id """
     self.width: int = width
     """ 最大绘制宽度 """
     self.return_list: List[str] = []
     """ 当前面板监听的按钮列表 """
     character_data = cache.character_data[character_id]
     item_list = list(character_data.item)
     item_panel = panel.PageHandlePanel(item_list, ItemNameDraw, 20, 7,
                                        width, 1, 1, 0, "", "|")
     self.handle_panel = item_panel
     """ 页面控制对象 """
Esempio n. 10
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. 11
0
 def __init__(self, now_map: List[str], width: int):
     self.width: int = width
     """ 绘制的最大宽度 """
     self.now_map: List[str] = now_map
     """ 当前查看的地图坐标 """
     self.return_list: List[str] = []
     """ 当前面板的按钮返回 """
     character_data: game_type.Character = cache.character_data[0]
     self.handle_panel = panel.PageHandlePanel(
         list(character_data.collection_character),
         SocialSceneNameDraw,
         10,
         2,
         self.width,
         1,
     )
     self.end_index = self.handle_panel.end_index
     """ 结束按钮id """
Esempio n. 12
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. 13
0
 def __init__(self, character_id: int, width: int):
     """ 初始化绘制对象 """
     self.character_id: int = character_id
     """ 要绘制的角色id """
     self.width: int = width
     """ 面板最大宽度 """
     self.return_list: List[str] = []
     """ 当前面板监听的按钮列表 """
     character_data = cache.character_data[character_id]
     language_list = list(game_config.config_language.keys())
     language_text_list = []
     for language in language_list:
         now_exp = 0
         if language in character_data.language:
             now_exp = character_data.language[language]
         language_text_list.append((language, now_exp))
     self.handle_panel = panel.PageHandlePanel(language_text_list,
                                               LanguageNameDraw, 20, 6,
                                               width, 1, 1, 0, "")
     """ 页面控制对象 """
Esempio n. 14
0
 def __init__(self, now_map: List[str], width: int):
     self.width: int = width
     """ 绘制的最大宽度 """
     self.now_map: List[str] = now_map
     """ 当前查看的地图坐标 """
     self.return_list: List[str] = []
     """ 当前面板的按钮返回 """
     self.end_index: int = 0
     """ 结束按钮id """
     character_data: game_type.Character = cache.character_data[0]
     class_room_path = map_handle.get_map_system_path_for_str(
         character_data.classroom)
     office_room_path = character_data.officeroom
     square_path = ["2"]
     swim_path = ["14", "0"]
     big_restaurant_path = ["10", "0", "0"]
     small_restaurant_path = ["16", "0", "0"]
     multi_media_class_room_a_path = ["1", "3", "1"]
     multi_media_class_room_b_path = ["1", "3", "2"]
     music_class_room_path = ["1", "4", "1"]
     shop_path = ["11"]
     dormitory_path = map_handle.get_map_system_path_for_str(
         character_data.dormitory)
     path_list = [
         dormitory_path,
         class_room_path,
         office_room_path,
         square_path,
         swim_path,
         big_restaurant_path,
         small_restaurant_path,
         multi_media_class_room_a_path,
         multi_media_class_room_b_path,
         music_class_room_path,
         shop_path,
     ]
     path_list = [i for i in path_list if len(i)]
     self.handle_panel = panel.PageHandlePanel(path_list,
                                               ScenePathNameMoveDraw, 20, 3,
                                               self.width, 1)
     self.end_index = self.handle_panel.end_index
Esempio n. 15
0
 def __init__(self, now_map: List[str], width: int):
     self.width: int = width
     """ 绘制的最大宽度 """
     self.now_map: List[str] = now_map
     """ 当前查看的地图坐标 """
     self.return_list: List[str] = []
     """ 当前面板的按钮返回 """
     character_data: game_type.Character = cache.character_data[0]
     self.handle_panel = panel.PageHandlePanel(
         [
             k for k in character_data.social_contact_data
             if character_data.social_contact_data[k]
         ],
         SocialSceneNameDraw,
         20,
         3,
         self.width,
         1,
     )
     self.end_index = self.handle_panel.end_index
     """ 结束按钮id """
Esempio n. 16
0
 def see_food_shop_food_list(self):
     """ 按食物名字显示食物商店的食物列表 """
     title_draw = draw.TitleLineDraw(self.text, window_width)
     now_food_list = [(self.cid, x)
                      for x in cache.restaurant_data[self.cid]]
     page_handle = panel.PageHandlePanel(now_food_list,
                                         BuyFoodByFoodNameDraw, 10, 1,
                                         window_width, 1, 1, 0)
     while 1:
         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
         page_handle.text_list = [(self.cid, x)
                                  for x in cache.restaurant_data[self.cid]]
Esempio n. 17
0
 def draw(self):
     """ 绘制对象 """
     title_draw = draw.TitleLineDraw(_("场景"), self.width)
     character_data: game_type.Character = cache.character_data[0]
     scene_path_str = map_handle.get_map_system_path_str_for_list(character_data.position)
     scene_data: game_type.Scene = cache.scene_data[scene_path_str]
     character_list = list(scene_data.character_list)
     character_list.remove(0)
     if not character_data.target_character_id and len(character_list):
         character_data.target_character_id = character_list[0]
     while 1:
         game_time_draw = game_info_panel.GameTimeInfoPanel(self.width / 2)
         game_time_draw.now_draw.width = len(game_time_draw)
         position_text = attr_text.get_scene_path_text(character_data.position)
         now_position_text = _("当前位置:") + position_text
         now_position_draw = draw.NormalDraw()
         now_position_draw.text = now_position_text
         now_position_draw.width = self.width - len(game_time_draw)
         meet_draw = draw.NormalDraw()
         meet_draw.text = _("你在这里遇到了:")
         meet_draw.width = self.width
         character_list = list(scene_data.character_list)
         character_list.remove(0)
         character_handle_panel = panel.PageHandlePanel(
             character_list,
             see_character_info_panel.SeeCharacterInfoByNameDrawInScene,
             10,
             5,
             self.width,
             1,
             0,
             null_button_text=character_data.target_character_id,
         )
         see_instruct_panel = SeeInstructPanel(self.width)
         cache.wframe_mouse.w_frame_skip_wait_mouse = 0
         if cache.now_panel_id != constant.Panel.IN_SCENE:
             break
         character_handle_panel.null_button_text = character_data.target_character_id
         line_feed.draw()
         title_draw.draw()
         game_time_draw.draw()
         now_position_draw.draw()
         line_feed.draw()
         ask_list = []
         if len(scene_data.character_list) > 1:
             meet_draw.draw()
             line_feed.draw()
             character_handle_panel.update()
             character_handle_panel.draw()
             ask_list.extend(character_handle_panel.return_list)
             line_draw = draw.LineDraw("-.-", self.width)
             line_draw.draw()
         character_info_draw_list = []
         if character_data.target_character_id:
             character_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.cid, self.width
             )
             target_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.target_character_id, self.width
             )
             character_head_draw_list = [y for x in character_head_draw.draw_list for y in x]
             character_head_draw_list[0].text += " " + character_head_draw_list[2].text
             del character_head_draw_list[2]
             target_head_draw_list = [y for x in target_head_draw.draw_list for y in x]
             target_head_draw_list[0].text += " " + target_head_draw_list[2].text
             del target_head_draw_list[2]
             character_info_draw_list = list(zip(character_head_draw_list, target_head_draw_list))
         else:
             character_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.cid, self.width
             )
             character_info_draw_list = character_head_draw.draw_list
         for value_tuple in character_info_draw_list:
             for value in value_tuple:
                 value.draw()
             line_feed.draw()
         character_status_draw_list = []
         if character_data.target_character_id:
             character_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.cid, self.width / 2, 3, 0
             )
             target_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.target_character_id, self.width / 2 - 1, 3, 0
             )
             character_status_draw_list = list(
                 zip(character_status_draw.draw_list, target_status_draw.draw_list)
             )
         else:
             character_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.cid, self.width, 5
             )
             character_status_draw_list = character_status_draw.draw_list
         for label in character_status_draw_list:
             if isinstance(label, tuple):
                 index = 0
                 for value in label:
                     if isinstance(value, list):
                         for value_draw in value:
                             value_draw.draw()
                     else:
                         value.line_feed = 0
                         value.draw()
                     if not index:
                         fix_draw = draw.NormalDraw()
                         fix_draw.width = 1
                         fix_draw.text = "|"
                         fix_draw.draw()
                         index = 1
                 line_feed.draw()
             elif isinstance(label, list):
                 for value in label:
                     value.draw()
                 line_feed.draw()
             else:
                 label.draw()
         see_instruct_panel.draw()
         ask_list.extend(see_instruct_panel.return_list)
         target_id = character_data.target_character_id
         flow_handle.askfor_all(ask_list)
         py_cmd.clr_cmd()
Esempio n. 18
0
 def draw(self):
     """ 绘制对象 """
     character_data: game_type.Character = cache.character_data[0]
     title_draw = draw.TitleLineDraw(_("场景"), self.width)
     scene_path_str = map_handle.get_map_system_path_str_for_list(character_data.position)
     scene_data: game_type.Scene = cache.scene_data[scene_path_str]
     character_handle_panel = panel.PageHandlePanel(
         [],
         see_character_info_panel.SeeCharacterInfoByNameDrawInScene,
         10,
         5,
         self.width,
         1,
         0,
         len(constant.handle_instruct_name_data),
         null_button_text=character_data.target_character_id,
     )
     while 1:
         if character_data.dead:
             cache.wframe_mouse.w_frame_skip_wait_mouse = 0
             now_draw = draw.LineFeedWaitDraw()
             now_draw.text = _("已死亡!")
             now_draw.width = self.width
             now_draw.draw()
             continue
         character_set = scene_data.character_list.copy()
         character_set.remove(0)
         if cache.is_collection:
             character_list = [i for i in character_set if i in character_data.collection_character]
         else:
             character_list = list(character_set)
         character_handle_panel.text_list = character_list
         if character_data.target_character_id not in scene_data.character_list:
             character_data.target_character_id = 0
         if not character_data.target_character_id and len(character_list):
             character_data.target_character_id = character_list[0]
         game_time_draw = game_info_panel.GameTimeInfoPanel(self.width / 2)
         game_time_draw.now_draw.width = len(game_time_draw)
         position_text = attr_text.get_scene_path_text(character_data.position)
         now_position_text = _("当前位置:") + position_text
         now_position_draw = draw.NormalDraw()
         now_position_draw.text = now_position_text
         now_position_draw.width = self.width - len(game_time_draw)
         meet_draw = draw.NormalDraw()
         meet_draw.text = _("你在这里遇到了:")
         meet_draw.width = self.width
         see_instruct_panel = SeeInstructPanel(self.width)
         cache.wframe_mouse.w_frame_skip_wait_mouse = 0
         if cache.now_panel_id != constant.Panel.IN_SCENE:
             break
         character_handle_panel.null_button_text = character_data.target_character_id
         line_feed.draw()
         title_draw.draw()
         game_time_draw.draw()
         now_position_draw.draw()
         line_feed.draw()
         ask_list = []
         if len(character_list) and character_data.target_character_id not in character_list:
             character_data.target_character_id = character_list[0]
         if not len(character_list):
             character_data.target_character_id = 0
         if len(character_list):
             meet_draw.draw()
             line_feed.draw()
             character_handle_panel.update()
             character_handle_panel.draw()
             ask_list.extend(character_handle_panel.return_list)
             line_draw = draw.LineDraw("-.-", self.width)
             line_draw.draw()
         character_info_draw_list = []
         if character_data.target_character_id:
             character_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.cid, self.width
             )
             target_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.target_character_id, self.width
             )
             character_head_draw_list = [y for x in character_head_draw.draw_list for y in x]
             character_head_draw_list[0].text += " " + character_head_draw_list[2].text
             del character_head_draw_list[2]
             target_head_draw_list = [y for x in target_head_draw.draw_list for y in x]
             target_head_draw_list[0].text += " " + target_head_draw_list[2].text
             del target_head_draw_list[2]
             character_info_draw_list = list(zip(character_head_draw_list, target_head_draw_list))
         else:
             character_head_draw = see_character_info_panel.CharacterInfoHead(
                 character_data.cid, self.width
             )
             character_info_draw_list = character_head_draw.draw_list
         for value_tuple in character_info_draw_list:
             for value in value_tuple:
                 value.draw()
             line_feed.draw()
         character_clothing_draw_list = []
         if character_data.target_character_id:
             character_clothing_draw = see_character_info_panel.CharacterWearClothingList(
                 0, self.width / 2, 2
             )
             target_clothing_draw = see_character_info_panel.CharacterWearClothingList(
                 character_data.target_character_id, self.width / 2 - 1, 2
             )
             now_line = len(character_clothing_draw.draw_list)
             if len(target_clothing_draw.draw_list) > now_line:
                 now_line = len(target_clothing_draw.draw_list)
             for i in range(now_line):
                 c_draw = None
                 if i in range(len(character_clothing_draw.draw_list)):
                     c_draw = character_clothing_draw.draw_list[i]
                 else:
                     c_draw = draw.NormalDraw()
                     c_draw.text = " " * int(self.width / 2)
                     c_draw.width = self.width / 2
                 t_draw = None
                 if i in range(len(target_clothing_draw.draw_list)):
                     t_draw = target_clothing_draw.draw_list[i]
                 else:
                     t_draw = draw.NormalDraw()
                     t_draw.text = " " * int(self.width / 2 - 1)
                     t_draw.width = self.width / 2 - 1
                 character_clothing_draw_list.append((c_draw, t_draw))
         else:
             character_clothing_draw_list = see_character_info_panel.CharacterWearClothingList(
                 0, self.width, 5
             ).draw_list
         for label in character_clothing_draw_list:
             if isinstance(label, tuple):
                 index = 0
                 for value in label:
                     if isinstance(value, list):
                         for value_draw in value:
                             value_draw.draw()
                     else:
                         value.line_feed = 0
                         value.draw()
                     if not index:
                         fix_draw = draw.NormalDraw()
                         fix_draw.width = 1
                         fix_draw.text = "|"
                         fix_draw.draw()
                         index = 1
                 line_feed.draw()
             elif isinstance(label, list):
                 for value in label:
                     value.draw()
                 line_feed.draw()
             else:
                 label.draw()
         character_status_draw_list = []
         if character_data.target_character_id:
             character_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.cid, self.width / 2, 3, 0
             )
             target_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.target_character_id, self.width / 2 - 1, 3, 0
             )
             now_line = len(character_status_draw.draw_list)
             if len(target_status_draw.draw_list) > now_line:
                 now_line = len(target_status_draw.draw_list)
             for i in range(now_line):
                 c_draw = None
                 if i in range(len(character_status_draw.draw_list)):
                     c_draw = character_status_draw.draw_list[i]
                 else:
                     c_draw = draw.NormalDraw()
                     c_draw.text = " " * int(self.width / 2)
                     c_draw.width = self.width / 2
                 t_draw = None
                 if i in range(len(target_status_draw.draw_list)):
                     t_draw = target_status_draw.draw_list[i]
                 else:
                     t_draw = draw.NormalDraw()
                     t_draw.text = " " * int(self.width / 2 - 1)
                     t_draw.width = self.width / 2 - 1
                 character_status_draw_list.append((c_draw, t_draw))
         else:
             character_status_draw = see_character_info_panel.SeeCharacterStatusPanel(
                 character_data.cid, self.width, 6
             )
             character_status_draw_list = character_status_draw.draw_list
         for label in character_status_draw_list:
             if isinstance(label, tuple):
                 index = 0
                 for value in label:
                     if isinstance(value, list):
                         for value_draw in value:
                             value_draw.draw()
                     else:
                         value.line_feed = 0
                         value.draw()
                     if not index:
                         fix_draw = draw.NormalDraw()
                         fix_draw.width = 1
                         fix_draw.text = "|"
                         fix_draw.draw()
                         index = 1
                 line_feed.draw()
             elif isinstance(label, list):
                 for value in label:
                     value.draw()
                 line_feed.draw()
             else:
                 label.draw()
         see_instruct_panel.draw()
         ask_list.extend(see_instruct_panel.return_list)
         target_id = character_data.target_character_id
         flow_handle.askfor_all(ask_list)
         py_cmd.clr_cmd()