def enterCharacterNatureHead(): ''' 用于确认角色性格的头部面板 ''' EraPrint.p('\n') EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '39'))
def detailedSetting2Panel(): EraPrint.p('\n') EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '11')) yrn = CmdButtonQueue.optionstr(CmdButtonQueue.detailedsetting2, 5, 'center', True) return yrn
def seeCharacterStatusPanel(characterId:str): ''' 查看角色状态面板 Keyword arguments: characterId -- 角色Id ''' statusTextData = TextLoading.getTextData(TextLoading.stageWordPath, '134') characterData = CacheContorl.characterData['character'][characterId] statusData = characterData.Status for stateType in statusData: EraPrint.sontitleprint(statusTextData[stateType]) nowStatusData = statusData[stateType].copy() if stateType == 'SexFeel': if characterData.Sex == 'Man': del nowStatusData['VaginaDelight'] del nowStatusData['ClitorisDelight'] del nowStatusData['VaginaLubrication'] elif characterData.Sex == 'Woman': del nowStatusData['PenisDelight'] elif characterData.Sex == 'Asexual': del nowStatusData['VaginaDelight'] del nowStatusData['ClitorisDelight'] del nowStatusData['VaginaLubrication'] del nowStatusData['PenisDelight'] nowStatusTextList = [statusTextData[state] + ':' + str(nowStatusData[state]) for state in nowStatusData] size = 7 if len(nowStatusTextList) < size: size = len(nowStatusTextList) EraPrint.plist(nowStatusTextList,size,'center') EraPrint.pl()
def attributeGenerationBranchPanel(): characterId = CacheContorl.characterData['characterId'] AttrCalculation.setAttrDefault(characterId) PyCmd.clr_cmd() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '9')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu, 1) return yrn
def inputSexPanel(): characterId = CacheContorl.characterData['characterId'] sexId = CacheContorl.characterData['character'][characterId]['Sex'] EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '8')[sexId]) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu, 1) EraPrint.p('\n') return yrn
def inputNickNamePanel(): characterId = CacheContorl.characterData['characterId'] CacheContorl.characterData['character'][ characterId] = CacheContorl.temporaryCharacter.copy() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '6')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.inputnickname, 1) EraPrint.p('\n') return yrn
def inputNamePanel() -> str: ''' 请求玩家输入姓名面板 ''' EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '4')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu) EraPrint.p('\n') return yrn
def seeCharacterNaturePanel(characterId:int): ''' 查看角色性格面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.plt(TextLoading.getTextData(TextLoading.stageWordPath,'139')) EraPrint.pl(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) SeeNaturePanel.seeCharacterNaturePanel(characterId)
def seeCharacterSocialContactPanel(characterId:int): ''' 查看角色社交面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.plt(TextLoading.getTextData(TextLoading.stageWordPath,'145')) EraPrint.pl(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) SeeSocialContactPanel.seeCharacterSocialContactPanel(characterId)
def seeCharacterStatusHeadPanel(characterId:str) -> str: ''' 查看角色状态面板头部面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.plt(TextLoading.getTextData(TextLoading.stageWordPath, '135')) EraPrint.pl(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) seeCharacterStatusPanel(characterId)
def seeCharacterWearItemPanel(characterId:int): ''' 查看角色穿戴道具面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.plt(TextLoading.getTextData(TextLoading.stageWordPath, '40')) EraPrint.pl(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) WearItemPanel.seeCharacterWearItemPanel(characterId,False)
def attributeGenerationBranchPanel() -> str: ''' 玩家确认进行详细设置面板 ''' PyCmd.clr_cmd() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '9')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu) return yrn
def inputNickNamePanel() -> str: ''' 请求玩家输入昵称面板 ''' EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '6')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.inputnickname) EraPrint.p('\n') return yrn
def detailedSetting8Panel() -> str: ''' 询问玩家肥胖程度面板 ''' EraPrint.p('\n') EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '29')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.detailedsetting8) return yrn
def inputSexChoicePanel() -> str: ''' 玩家性别选择面板 ''' EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '7')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.sexmenu) EraPrint.p('\n') return yrn
def inputSelfNamePanel() -> str: ''' 请求玩家输入自称面板 ''' PyCmd.clr_cmd() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '14')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.inputselfname) EraPrint.p('\n') return yrn
def inputNamePanel(): characterId = CacheContorl.characterData['characterId'] CacheContorl.characterData['character'][ characterId] = CacheContorl.temporaryCharacter.copy() AttrCalculation.setDefaultCache() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '4')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu, 1) EraPrint.p('\n') return yrn
def inputSelfNamePanel(): characterId = CacheContorl.characterData['characterId'] PyCmd.clr_cmd() CacheContorl.characterData['character'][ characterId] = CacheContorl.temporaryCharacter.copy() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '14')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.inputselfname, 1) EraPrint.p('\n') return yrn
def removeSave(saveId:str): ''' 删除存档id对应存档 Keyword arguments: saveId -- 存档id ''' savePath = getSaveDirPath(saveId) if os.path.isdir(savePath): shutil.rmtree(savePath) else: errorText = TextLoading.getTextData(TextLoading.errorPath,'notSaveError') EraPrint.pl(errorText)
def waitInput(intA: int, intB: int) -> GameInit.askfor_str: ''' 等待玩家输入ab之间的一个数 Keyword arguments: intA -- 输入边界A intB -- 输入边界B ''' while (True): ans = GameInit.askfor_str() if ans.isdecimal(): ans = int(ans) if intA <= ans <= intB: break EraPrint.pl(ans) EraPrint.pl( TextLoading.getTextData(TextLoading.errorPath, 'inputNullError') + '\n') return ans
def seeCharacterSexExperiencePanel(characterId: int): ''' 查看角色性经验面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.plittleline() EraPrint.pl(TextLoading.getTextData(TextLoading.stageWordPath, '5')) characterData = CacheContorl.characterData['character'][characterId] characterSexGradeList = characterData.SexGrade characterSex = CacheContorl.characterData['character'][characterId].Sex characterSexGradeTextList = AttrText.getSexGradeTextList( characterSexGradeList, characterSex) EraPrint.plist(characterSexGradeTextList, 4, 'center') EraPrint.pl(TextLoading.getTextData(TextLoading.stageWordPath, '7')) characterEngraving = characterData.Engraving characterEngravingText = AttrText.getEngravingText(characterEngraving) EraPrint.plist(characterEngravingText, 3, 'center')
def seeCharacterItemInfoPanel(characterId: str, itemId: str): ''' 用于查看角色道具信息的面板 Keyword arguments: characterId -- 角色Id itemId -- 道具Id ''' titleText = TextLoading.getTextData(TextLoading.stageWordPath, '38') EraPrint.plt(titleText) EraPrint.p(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) EraPrint.pline('.') itemData = CacheContorl.characterData['character'][characterId].Item[ itemId] EraPrint.pl( TextLoading.getTextData(TextLoading.stageWordPath, 128) + itemData['ItemName']) EraPrint.pl( TextLoading.getTextData(TextLoading.stageWordPath, '131') + itemData['ItemInfo'])
def changeSceneCharacterListPanel() -> list: ''' 当前场景角色列表页切换控制面板 ''' nameListMax = int(GameConfig.in_scene_see_player_max) nowPage = int(CacheContorl.panelState['SeeSceneCharacterListPanel']) scenePath = CacheContorl.characterData['character']['0']['Position'] scenePathStr = MapHandle.getMapSystemPathStrForList(scenePath) sceneCharacterNameList = MapHandle.getSceneCharacterNameList(scenePathStr) characterMax = len(sceneCharacterNameList) pageMax = math.floor(characterMax / nameListMax) pageText = '(' + str(nowPage) + '/' + str(pageMax) + ')' inputS = CmdButtonQueue.optionint(CmdButtonQueue.changescenecharacterlist, cmdColumn=5, askfor=False, cmdSize='center') EraPrint.printPageLine(sample='-', string=pageText) EraPrint.pl() return inputS
def seeCharacterItemPanel(characterId: int) -> list: ''' 查看角色背包道具列表面板 Keyword arguments: characterId -- 角色Id ''' EraPrint.p(AttrText.getSeeAttrPanelHeadCharacterInfo(characterId)) EraPrint.pline('.') if characterId != '0': EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '37')) return [] characterItemData = CacheContorl.characterData['character'][ characterId].Item if len(characterItemData) == 0: EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '36')) return [] nowPageId = int(CacheContorl.panelState['SeeCharacterItemListPanel']) nowPageMax = GameConfig.see_character_item_max nowPageStartId = nowPageId * nowPageMax nowPageEndId = nowPageStartId + nowPageMax if nowPageEndId > len(characterItemData.keys()): nowPageEndId = len(characterItemData.keys()) inputS = [] index = 0 for i in range(nowPageStartId, nowPageEndId): itemId = list(characterItemData.keys())[i] itemData = characterItemData[itemId] itemText = itemData['ItemName'] + ' ' + TextLoading.getTextData( TextLoading.stageWordPath, '136') + str(itemData['ItemNum']) if characterId == '0': idInfo = CmdButtonQueue.idIndex(index) cmdText = idInfo + drawText PyCmd.pcmd(cmdText, index, None) else: EraPrint.p(drawText) index += 1 inputS.append(str(index)) EraPrint.p('\n') return inputS
def gameMainPanel(): EraPrint.pline() EraPrint.pl(TextHandle.align(GameConfig.game_name, 'center')) EraPrint.pl(TextHandle.align(GameConfig.author, 'right')) EraPrint.pl(TextHandle.align(GameConfig.verson, 'right')) EraPrint.pl(TextHandle.align(GameConfig.verson_time, 'right')) EraPrint.p('\n') EraPrint.pline() EraPrint.lcp(1 / 3, TextLoading.getTextData(TextLoading.messagePath, '2')) time.sleep(1) EraPrint.p('\n') EraPrint.pline() time.sleep(1) PyCmd.focusCmd() menuInt = CmdButtonQueue.optionint(CmdButtonQueue.logomenu) return menuInt
def seeCharacterWearItemListPanel(characterId: int, itemType: str, maxPage: int) -> list: ''' 用于查看角色可穿戴道具列表的面板 Keyword arguments: characterId -- 用户Id itemType -- 道具类型 maxPage -- 道具列表最大页数 ''' EraPrint.pl() characterWearItemData = [ item for item in CacheContorl.characterData['character'] [characterId].WearItem['Item'] if item in CacheContorl.wearItemTypeData[itemType] ] nowPageId = int(CacheContorl.panelState["SeeCharacterWearItemListPanel"]) nowPageMax = GameConfig.see_character_wearitem_max nowPageStartId = nowPageId * nowPageMax nowPageEndId = nowPageStartId + nowPageMax if characterWearItemData == []: EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '38')) return [] if nowPageEndId > len(characterWearItemData.keys()): nowPageEndId = len(characterWearItemData.keys())
def startInputNamePanel(): EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '3')) inputState = 0 while inputState == 0: characterName = GameInit.askfor_str() EraPrint.pl(characterName) if TextHandle.getTextIndex(characterName) > 10: EraPrint.pl( TextLoading.getTextData(TextLoading.errorPath, 'inputNameTooLongError')) else: inputState = 1 CacheContorl.temporaryCharacter['Name'] = characterName
def startInputNamePanel(): ''' 玩家姓名输入处理面板 ''' EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '3')) while 1: characterName = GameInit.askfor_str() EraPrint.pl(characterName) if TextHandle.getTextIndex(characterName) > 10: EraPrint.pl(TextLoading.getTextData(TextLoading.errorPath, 'inputNameTooLongError')) else: CacheContorl.characterData['character'][0].Name = characterName break
def startInputSelfName(): ''' 玩家自称输入处理面板 ''' EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '15')) inputState = 0 while inputState == 0: characterSelfName = GameInit.askfor_str() EraPrint.pl(characterSelfName) if TextHandle.getTextIndex(characterSelfName) > 10: EraPrint.pl( TextLoading.getTextData(TextLoading.errorPath, 'inputSelfNameTooLongError')) else: inputState = 1 CacheContorl.temporaryCharacter['SelfName'] = characterSelfName EraPrint.p('\n')
def seeCharacterHPAndMPInSence(characterId:int): ''' 在场景中显示角色的HP和MP Keyword arguments: characterId -- 角色Id ''' if characterId == 0: AttrPrint.printHpAndMpBar(characterId) else: characterIdText = TextLoading.getTextData(TextLoading.stageWordPath, '0') + '0' + ':' + CacheContorl.characterData['character'][0].Name targetIdText = TextLoading.getTextData(TextLoading.stageWordPath, '0') + f'{characterId}' + ':' + CacheContorl.characterData['character'][characterId].Name EraPrint.plist([characterIdText,targetIdText],2,'center') EraPrint.pl() playerBar = AttrPrint.getHpOrMpBar(0,'HitPoint',GameConfig.text_width / 2 - 4) targetBar = AttrPrint.getHpOrMpBar(characterId,'HitPoint',GameConfig.text_width / 2 - 4) EraPrint.plist([playerBar,targetBar],2,'center') EraPrint.pl() playerBar = AttrPrint.getHpOrMpBar(0,'ManaPoint',GameConfig.text_width / 2 - 4) targetBar = AttrPrint.getHpOrMpBar(characterId,'ManaPoint',GameConfig.text_width / 2 - 4) EraPrint.plist([playerBar,targetBar],2,'center') EraPrint.pl()