def handle_un_collection_system(): """ 处理关闭收藏模式指令 """ cache.is_collection = 0 now_draw = draw.WaitDraw() now_draw.width = width now_draw.text = _("\n现在会显示所有角色的信息了!\n") now_draw.draw()
def handle_drink_spring(): """ 处理喝泉水指令 """ value = random.randint(0, 100) now_draw = draw.WaitDraw() now_draw.width = width now_draw.text = "\n" character_data: game_type.Character = cache.character_data[0] if value <= 5 and not character_data.sex: now_draw.text += _("喝到了奇怪的泉水!身体变化了!!!") character_data.sex = 1 character_data.height = attr_calculation.get_height( 1, character_data.age) bmi = attr_calculation.get_bmi(character_data.weight_tem) character_data.weight = attr_calculation.get_weight( bmi, character_data.height.now_height) character_data.bodyfat = attr_calculation.get_body_fat( character_data.sex, character_data.bodyfat_tem) character_data.measurements = attr_calculation.get_measurements( character_data.sex, character_data.height.now_height, character_data.weight, character_data.bodyfat, character_data.bodyfat_tem, ) else: now_draw.text += _("喝到了甜甜的泉水~") character_data.status[28] = 0 now_draw.text += "\n" now_draw.draw()
def handle_collection_system(): """ 处理启用收藏模式指令 """ cache.is_collection = 1 now_draw = draw.WaitDraw() now_draw.width = width now_draw.text = _("\n现在只会显示被收藏的角色的信息了!\n") now_draw.draw()
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()
def draw(self): """ 绘制对象 """ clothing_config = game_config.config_clothing_tem[self.clothing_id] info_draw = draw.WaitDraw() info_draw.text = clothing_config.describe info_draw.width = self.width info_draw.draw() line_feed.draw()
def draw(self): """ 绘制道具信息 """ py_cmd.clr_cmd() language_config = game_config.config_language[self.cid] language_draw = draw.WaitDraw() language_draw.text = f"{language_config.name}:{language_config.info}\n" language_draw.width = self.width language_draw.draw()
def draw(self): """ 绘制道具信息 """ py_cmd.clr_cmd() item_config = game_config.config_item[self.cid] item_draw = draw.WaitDraw() item_draw.text = f"{item_config.name}:{item_config.info}" item_draw.width = self.width item_draw.draw() line_feed = draw.NormalDraw() line_feed.text = "\n" line_feed.width = 1 line_feed.draw()
def buy_item(self): py_cmd.clr_cmd() character_data: game_type.Character = cache.character_data[0] character_data.item.add(self.text) item_config = game_config.config_item[self.text] now_text = _("{nickname}购买了{item_name}").format( nickname=character_data.nick_name, item_name=item_config.name) now_draw = draw.WaitDraw() now_draw.text = now_text now_draw.width = window_width now_draw.draw() line_feed.draw() line_feed.draw()
def draw(self): """ 绘制对象 """ character_data: game_type.Character = cache.character_data[0] if character_data.age <= 18: now_draw = StudentTimeTablePanel(self.width) now_draw.draw() else: if 0 in cache.teacher_school_timetable: now_draw = TeacherTimeTablePanel(self.width) now_draw.draw() else: title_draw = draw.TitleLineDraw(_("课程表"), self.width) title_draw.draw() now_draw = draw.WaitDraw() now_draw.width = self.width now_draw.text = _("无课时安排") now_draw.draw() cache.now_panel_id = constant.Panel.IN_SCENE
def handle_settle_behavior(character_id: int, now_time: datetime.datetime): """ 处理结算角色行为 Keyword arguments: character_id -- 角色id now_time -- 结算时间 """ status_data: game_type.CharacterStatusChange = cache.settle_behavior_data[ cache.character_data[character_id].behavior.behavior_id](character_id, now_time) now_judge = False if status_data == None: return if status_data.mana_point: now_judge = True if status_data.hit_point: now_judge = True if len(status_data.knowledge): now_judge = True if len(status_data.language): now_judge = True if len(status_data.status): now_judge = True if len(status_data.favorability) and not character_id: now_judge = True if now_judge: if not character_id or character_id == cache.character_data[ 0].target_character_id: now_character_data = cache.character_data[character_id] now_draw = draw.NormalDraw() now_draw.text = "\n" + now_character_data.name + "\n" now_draw.width = width now_draw.draw() now_text_list = [] if status_data.hit_point: now_text_list.append( _("体力:") + str(round(status_data.hit_point, 2))) if status_data.mana_point: now_text_list.append( _("气力:") + str(round(status_data.mana_point, 2))) if len(status_data.status): now_text_list.extend([ f"{game_config.config_character_state[i].name}:{round(status_data.status[i],2)}" for i in status_data.status ]) if len(status_data.knowledge): now_text_list.extend([ f"{game_config.config_knowledge[i].name}:{round(status_data.knowledge[i],2)}" for i in status_data.knowledge ]) if len(status_data.language): now_text_list.extend([ f"{game_config.config_language[i].name}:{round(status_data.language[i],2)}" for i in status_data.language ]) if len(status_data.favorability) and not character_id: now_text_list.extend([ _("{target_name}对{character_name}好感").format( target_name=cache.character_data[i].name, character_name=now_character_data.name) + text_handle.number_to_symbol_string( round(status_data.favorability[i], 2)) for i in status_data.favorability ]) now_panel = panel.LeftDrawTextListPanel() now_panel.set(now_text_list, width, 8) now_panel.draw() wait_draw = draw.WaitDraw() wait_draw.draw()
def handle_settle_behavior(character_id: int, now_time: datetime.datetime): """ 处理结算角色行为 Keyword arguments: character_id -- 角色id now_time -- 结算时间 """ now_character_data: game_type.Character = cache.character_data[ character_id] status_data = game_type.CharacterStatusChange() start_time = now_character_data.behavior.start_time add_time = int((now_time - start_time).seconds / 60) behavior_id = now_character_data.behavior.behavior_id if behavior_id in game_config.config_behavior_effect_data: for effect_id in game_config.config_behavior_effect_data[behavior_id]: constant.settle_behavior_effect_data[effect_id](character_id, add_time, status_data) change_character_social(character_id, status_data) now_judge = False if character_id: return if status_data == None: return if status_data.mana_point: now_judge = True if status_data.hit_point: now_judge = True if len(status_data.knowledge): now_judge = True if len(status_data.language): now_judge = True if len(status_data.status): now_judge = True if len(status_data.sex_experience): now_judge = True if len(status_data.target_change) and not character_id: now_judge = True if now_judge: now_text_list = [] now_draw = draw.NormalDraw() now_draw.text = "\n" + now_character_data.name + ": " now_draw.width = width now_draw.draw() if status_data.hit_point: now_text_list.append( _("体力:") + str(round(status_data.hit_point, 2))) if status_data.mana_point: now_text_list.append( _("气力:") + str(round(status_data.mana_point, 2))) if len(status_data.status): now_text_list.extend([ f"{game_config.config_character_state[i].name}:{text_handle.number_to_symbol_string(round(status_data.status[i],2))}" for i in status_data.status ]) if len(status_data.knowledge): now_text_list.extend([ f"{game_config.config_knowledge[i].name}:{text_handle.number_to_symbol_string(round(status_data.knowledge[i],2))}" for i in status_data.knowledge ]) if len(status_data.language): now_text_list.extend([ f"{game_config.config_language[i].name}:{text_handle.number_to_symbol_string(round(status_data.language[i],2))}" for i in status_data.language ]) if len(status_data.sex_experience): now_text_list.extend([ game_config.config_organ[i].name + _("经验:") + text_handle.number_to_symbol_string( round(status_data.sex_experience[i], 2)) for i in status_data.sex_experience ]) if len(status_data.target_change): for target_character_id in status_data.target_change: if character_id and target_character_id: continue target_change: game_type.TargetChange = status_data.target_change[ target_character_id] target_data: game_type.Character = cache.character_data[ target_character_id] now_text = f"\n{target_data.name}:" judge = 0 if target_change.favorability: now_text += _(" 对{character_name}好感").format( character_name=now_character_data.name ) + text_handle.number_to_symbol_string( round(target_change.favorability, 2)) judge = 1 if target_change.new_social != target_change.old_social: now_text += (" " + game_config.config_social_type[ target_change.old_social].name + "->" + game_config.config_social_type[ target_change.new_social].name) judge = 1 if len(target_change.status): for status_id in target_change.status: if target_change.status[status_id]: now_text += ( " " + game_config. config_character_state[status_id].name + text_handle.number_to_symbol_string( round(target_change.status[status_id], 2))) judge = 1 if len(target_change.sex_experience): for organ in target_change.sex_experience: if target_change.sex_experience[organ]: now_text += ( " " + game_config.config_organ[organ].name + _("经验:") + text_handle.number_to_symbol_string( round(status_data.sex_experience[organ], 2))) judge = 1 if judge: now_text_list.append(now_text) now_panel = panel.LeftDrawTextListPanel() now_panel.set(now_text_list, width, 8) now_panel.draw() wait_draw = draw.WaitDraw() wait_draw.draw()