def seeAttrOnEveryTime_func(oldPanel, tooOldFlow=None): characterId = CacheContorl.characterData['characterId'] if oldPanel == 'InScenePanel': sceneId = CacheContorl.characterData['character']['0']['Position'] characterIdList = MapHandle.getSceneCharacterIdList(sceneId) else: characterIdList = ValueHandle.dictKeysToList( CacheContorl.characterData['character']) characterIdIndex = characterIdList.index(characterId) inputS = [] seeAttrList = seeAttrInEveryTime_func() inputS = inputS + seeAttrList askSeeAttr = SeeCharacterAttrPanel.askForSeeAttr() inputS = inputS + askSeeAttr yrn = GameInit.askfor_All(inputS) PyCmd.clr_cmd() showAttrHandleData = TextLoading.getTextData(TextLoading.cmdPath, 'seeAttrPanelHandle') characterMax = characterIdList[len(characterIdList) - 1] if yrn in showAttrHandleData: index = showAttrHandleData.index(yrn) index = str(index) CacheContorl.panelState['AttrShowHandlePanel'] = index seeAttrOnEveryTime_func(oldPanel, tooOldFlow) elif yrn in panelList: PanelStateHandle.panelStateChange(yrn) seeAttrOnEveryTime_func(oldPanel, tooOldFlow) elif yrn == '0': if characterIdIndex == 0: CacheContorl.characterData['characterId'] = characterMax seeAttrOnEveryTime_func(oldPanel, tooOldFlow) else: characterId = characterIdList[characterIdIndex - 1] CacheContorl.characterData['characterId'] = characterId seeAttrOnEveryTime_func(oldPanel, tooOldFlow) elif yrn == '1': from script.Flow import Main, SeeCharacterList, InScene if oldPanel == 'MainFramePanel': SeeCharacterAttrPanel.initShowAttrPanelList() CacheContorl.characterData['characterId'] = '0' Main.mainFrame_func() elif oldPanel == 'SeeCharacterListPanel': characterListShow = int(GameConfig.characterlist_show) nowPageId = characterIdIndex / characterListShow CacheContorl.panelState['SeeCharacterListPanel'] = nowPageId SeeCharacterAttrPanel.initShowAttrPanelList() SeeCharacterList.seeCharacterList_func(tooOldFlow) elif oldPanel == 'InScenePanel': SeeCharacterAttrPanel.initShowAttrPanelList() CacheContorl.characterData['characterId'] = '0' InScene.getInScene_func() elif yrn == '2': if characterId == characterMax: characterId = characterIdList[0] CacheContorl.characterData['characterId'] = characterId seeAttrOnEveryTime_func(oldPanel, tooOldFlow) else: characterId = characterIdList[characterIdIndex + 1] CacheContorl.characterData['characterId'] = characterId seeAttrOnEveryTime_func(oldPanel, tooOldFlow)
def getInScene_func(): ''' 用于进入场景界面的流程 ''' PyCmd.clr_cmd() scenePath = CacheContorl.characterData['character'][0].Position scenePathStr = MapHandle.getMapSystemPathStrForList(scenePath) MapHandle.sortSceneCharacterId(scenePathStr) CacheContorl.nowMap = MapHandle.getMapForPath(scenePath) sceneData = CacheContorl.sceneData[scenePathStr].copy() sceneCharacterList = sceneData['SceneCharacterData'] if 0 not in sceneCharacterList: characterIdList = [0] sceneCharacterList = sceneCharacterList + characterIdList CacheContorl.sceneData[scenePathStr][ 'SceneCharacterData'] = sceneCharacterList if len(sceneCharacterList ) > 1 and CacheContorl.characterData['characterId'] == 0: nowNameList = MapHandle.getSceneCharacterNameList(scenePathStr) nowNameList.remove(CacheContorl.characterData['character'][0].Name) CacheContorl.characterData[ 'characterId'] = MapHandle.getCharacterIdByCharacterName( nowNameList[0], scenePathStr) if CacheContorl.oldCharacterId != 0: CacheContorl.characterData[ 'characterId'] = CacheContorl.oldCharacterId CacheContorl.oldCharacterId = 0 if len(sceneCharacterList) > 1: seeScene_func(True) else: seeScene_func(False)
def acknowledgmentAttributeAns(inputList): characterId = CacheContorl.characterData['characterId'] yrn = GameInit.askfor_All(inputList) showAttrHandleData = TextLoading.getTextData(TextLoading.cmdPath, 'seeAttrPanelHandle') PyCmd.clr_cmd() if yrn in panelList: PanelStateHandle.panelStateChange(yrn) acknowledgmentAttribute_func() elif yrn == '0': GameTime.initTime() AttrCalculation.setAttrOver(characterId) CharacterHandle.initCharacterList() SeeCharacterAttrPanel.initShowAttrPanelList() characterPosition = CacheContorl.characterData['character'][ characterId]['Position'] MapHandle.characterMoveScene(['0'], characterPosition, characterId) from script.Flow import Main Main.mainFrame_func() elif yrn == '1': CacheContorl.wframeMouse['wFrameRePrint'] = 1 EraPrint.pnextscreen() SeeCharacterAttrPanel.initShowAttrPanelList() from script.Design import StartFlow StartFlow.main_func() elif yrn in showAttrHandleData: index = showAttrHandleData.index(yrn) index = str(index) CacheContorl.panelState['AttrShowHandlePanel'] = index acknowledgmentAttribute_func()
def detailedSetting_func1(): flowRetun = CreatorCharacterPanel.detailedSetting1Panel() characterSex = CacheContorl.characterData['character']['0']['Sex'] sexList = list(TextLoading.getTextData(TextLoading.rolePath, 'Sex')) if flowRetun == 0: CacheContorl.featuresList['Age'] = featuresList["Age"][3] elif flowRetun == 4: if characterSex == sexList[0]: CacheContorl.featuresList['Age'] = featuresList["Age"][0] elif characterSex == sexList[1]: CacheContorl.featuresList['Age'] = featuresList["Age"][1] else: CacheContorl.featuresList['Age'] = featuresList["Age"][2] PyCmd.clr_cmd() CacheContorl.temporaryCharacter['Features'] = CacheContorl.featuresList.copy() characterAgeTemName = AttrCalculation.getAgeTemList()[flowRetun] characterAge = AttrCalculation.getAge(characterAgeTemName) characterTem = characterSex characterHeigt = AttrCalculation.getHeight(characterTem,characterAge,CacheContorl.temporaryCharacter['Features']) characterBmi = AttrCalculation.getBMI('Ordinary') characterWeight = AttrCalculation.getWeight(characterBmi,characterHeigt['NowHeight']) characterBodyFat = AttrCalculation.getBodyFat(characterSex,'Ordinary') characterMeasurements = AttrCalculation.getMeasurements(characterSex,characterHeigt['NowHeight'],characterWeight,characterBodyFat,'Ordinary') CacheContorl.temporaryCharacter['Age'] = characterAge CacheContorl.temporaryCharacter['Height'] = characterHeigt CacheContorl.temporaryCharacter['Weight'] = characterWeight CacheContorl.temporaryCharacter['BodyFat'] = characterBodyFat CacheContorl.temporaryCharacter['Measurements'] = characterMeasurements PyCmd.clr_cmd() detailedSetting_func2()
def enterCharacterNature_func(): ''' 请求玩家确认性格流程 ''' CacheContorl.characterData['character'][0].initAttr() while 1: PyCmd.clr_cmd() CreatorCharacterPanel.enterCharacterNatureHead() inputS = SeeNaturePanel.seeCharacterNatureChangePanel(0) inputS += CreatorCharacterPanel.enterCharacterNatureEnd() yrn = GameInit.askfor_All(inputS) if yrn in CacheContorl.characterData['character'][0].Nature: if CacheContorl.characterData['character'][0].Nature[yrn] < 50: CacheContorl.characterData['character'][0].Nature[ yrn] = random.uniform(50, 100) else: CacheContorl.characterData['character'][0].Nature[ yrn] = random.uniform(0, 50) elif int(yrn) == 0: CacheContorl.characterData['character'][0].initAttr() CacheContorl.nowFlowId = 'acknowledgment_attribute' break elif int(yrn) == 1: CacheContorl.characterData['character'][ 0].Nature = Nature.getRandomNature()
def inputNickName_func(): ''' 请求玩家输入昵称流程 输入0:进入请求玩家输入自称流程(玩家昵称为默认或输入玩家昵称流程结果) 输入1:进入输入昵称流程 输入2:使用玩家姓名作为昵称 输入3:返回请求输入姓名流程 ''' flowReturn = CreatorCharacterPanel.inputNickNamePanel() if flowReturn == 0: PyCmd.clr_cmd() inputSelfName_func() elif flowReturn == 1: PyCmd.clr_cmd() CreatorCharacterPanel.startInputNickNamePanel() PyCmd.clr_cmd() inputNickName_func() elif flowReturn == 2: PyCmd.clr_cmd() CacheContorl.temporaryCharacter[ 'NickName'] = CacheContorl.temporaryCharacter['Name'] inputNickName_func() elif flowReturn == 3: PyCmd.clr_cmd() inputName_func()
def askForMainFrame(ansList): characterId = CacheContorl.characterData['characterId'] characterData = AttrHandle.getAttrData(characterId) characterName = characterData['Name'] ans = GameInit.askfor_All(ansList) PyCmd.clr_cmd() if ans == characterName: mainFrameSeeAttrPanel() elif ans == '0': InScene.getInScene_func() elif ans == '1': SeeCharacterList.seeCharacterList_func('MainFramePanel') elif ans == '2': ChangeClothes.changeCharacterClothes(characterId) elif ans == '3': Shop.shopMainFrame_func() elif ans == '4': GameSetting.changeGameSetting_func() elif ans == '5': GameHelp.gameHelp_func() elif ans == '6': SaveHandleFrame.establishSave_func('MainFramePanel') elif ans == '7': SaveHandleFrame.loadSave_func('MainFramePanel') pass
def acknowledgmentAttribute_func(): ''' 创建角色时用于查看角色属性的流程 ''' while (True): characterId = CacheContorl.characterData['characterId'] CharacterHandle.initCharacterList() inputS = [] seeAttrInEveryTime_func() flowReturn = SeeCharacterAttrPanel.inputAttrOverPanel() inputS = flowReturn + inputS characterId = CacheContorl.characterData['characterId'] yrn = GameInit.askfor_All(inputS) showAttrHandleData = TextLoading.getTextData(TextLoading.cmdPath, 'seeAttrPanelHandle') PyCmd.clr_cmd() if yrn in panelList: PanelStateHandle.panelStateChange(yrn) elif yrn == '0': GameStartFlow.initGameStart() break elif yrn == '1': CacheContorl.wframeMouse['wFrameRePrint'] = 1 EraPrint.pnextscreen() CacheContorl.nowFlowId = 'title_frame' break elif yrn in showAttrHandleData: CacheContorl.panelState['AttrShowHandlePanel'] = str( showAttrHandleData.index(yrn))
def detailedSetting_func6(): flowReturn = CreatorCharacterPanel.detailedSetting6Panel() selfConfidenceList = featuresList['SelfConfidence'] CacheContorl.featuresList['SelfConfidence'] = selfConfidenceList[flowReturn] CacheContorl.temporaryCharacter['Features'] = CacheContorl.featuresList.copy() PyCmd.clr_cmd() detailedSetting_func7()
def seeScene_func(judge): inputS = [] InScenePanel.seeScenePanel() if judge == '0': inputS = inputS + InScenePanel.seeSceneCharacterListPanel() InScenePanel.changeSceneCharacterListPanel() scenePath = CacheContorl.characterData['character']['0']['Position'] sceneCharacterNameList = MapHandle.getSceneCharacterNameList(scenePath) if len(sceneCharacterNameList) == 1: CacheContorl.characterData['characterId'] = '0' InScenePanel.seeCharacterInfoPanel() inSceneCmdList1 = InScenePanel.inSceneButtonPanel() inputS = inputS + inSceneCmdList1 startId1 = len(inSceneCmdList1) yrn = GameInit.askfor_All(inputS) PyCmd.clr_cmd() if yrn in sceneCharacterNameList: CacheContorl.characterData[ 'characterId'] = MapHandle.getCharacterIdByCharacterName( yrn, scenePath) seeScene_func(judge) elif yrn == '0': from script.Flow import SeeMap nowMap = MapHandle.getMapForPath( CacheContorl.characterData['character']['0']['Position']) CacheContorl.nowMap = nowMap SeeMap.seeMapFlow() elif yrn == '1': SeeCharacterAttr.seeAttrOnEveryTime_func('InScenePanel') elif yrn == '2': CacheContorl.characterData['characterId'] = '0' SeeCharacterAttr.seeAttrOnEveryTime_func('InScenePanel')
def detailedSetting_func7(): flowReturn = CreatorCharacterPanel.detailedSetting7Panel() friendsList = featuresList['Friends'] CacheContorl.featuresList['Friends'] = friendsList[flowReturn] CacheContorl.temporaryCharacter['Features'] = CacheContorl.featuresList.copy() PyCmd.clr_cmd() detailedSetting_func8()
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 gameHelpPanel(): PyCmd.clr_cmd() titleInfo = TextLoading.getTextData(TextLoading.stageWordPath, '85') EraPrint.plt(titleInfo) EraPrint.p(TextLoading.getTextData(TextLoading.messagePath, '31')) EraPrint.p('\n') inputs = CmdButtonQueue.optionint(CmdButtonQueue.gamehelp, askfor=False) EraPrint.plittleline() return inputs
def confirmationOverlaySave_func(oldPanel, saveId): cmdList = SaveHandleFramePanel.confirmationOverlaySavePanel() yrn = GameInit.askfor_All(cmdList) PyCmd.clr_cmd() if yrn == '0': SaveHandle.establishSave(saveId) establishSave_func(oldPanel) else: establishSave_func(oldPanel)
def startFrame(): ''' 游戏主流程 ''' FlowHandle.initCache() while (True): nowFlowId = CacheContorl.nowFlowId PyCmd.clr_cmd() flowData[nowFlowId]()
def attributeGenerationBranchPanel() -> str: ''' 玩家确认进行详细设置面板 ''' PyCmd.clr_cmd() EraPrint.pline() EraPrint.pl(TextLoading.getTextData(TextLoading.messagePath, '9')) yrn = CmdButtonQueue.optionint(CmdButtonQueue.currencymenu) return yrn
def seeMapFlow(): ''' 地图查看流程 ''' while (True): PyCmd.clr_cmd() inputS = [] mapCmd = SeeMapPanel.seeMapPanel() startId1 = len(mapCmd) inputS = inputS + mapCmd movePathCmdData = SeeMapPanel.seeMovePathPanel() movePathCmd = movePathCmdData['inputS'] movePathList = movePathCmdData['scenePathList'] showSceneNameListCmd = SeeMapPanel.showSceneNameListPanel() seeMapCmd = SeeMapPanel.backScenePanel(startId1) inputS = inputS + seeMapCmd + movePathCmd + [showSceneNameListCmd] yrn = FlowHandle.askfor_All(inputS) backButton = str(startId1) nowPosition = CacheContorl.characterData['character'][0].Position nowPositionMap = MapHandle.getMapForPath(nowPosition) upMapButton = 'Null' downMapButton = 'Null' if nowPositionMap != [] and CacheContorl.nowMap != []: upMapButton = str(int(startId1) + 1) if nowPositionMap != CacheContorl.nowMap: if upMapButton == 'Null': downMapButton = str(int(startId1) + 1) else: downMapButton = str(int(startId1) + 2) nowMap = CacheContorl.nowMap.copy() if yrn in mapCmd: nowTargetPath = MapHandle.getScenePathForMapSceneId(nowMap, yrn) CharacterMove.ownCharcterMove(nowTargetPath) break elif yrn == backButton: CacheContorl.nowMap = [] CacheContorl.nowFlowId = 'in_scene' break elif yrn in movePathCmd: moveListId = movePathCmd.index(yrn) moveId = movePathList[moveListId] nowTargetPath = MapHandle.getScenePathForMapSceneId(nowMap, moveId) CharacterMove.ownCharcterMove(nowTargetPath) break elif upMapButton != 'Null' and yrn == upMapButton: upMapPath = MapHandle.getMapForPath(nowMap) CacheContorl.nowMap = upMapPath elif downMapButton != 'Null' and yrn == downMapButton: characterPosition = CacheContorl.characterData['character'][ 0].Position downMapSceneId = MapHandle.getMapSceneIdForScenePath( CacheContorl.nowMap, characterPosition) nowMap.append(downMapSceneId) CacheContorl.nowMap = nowMap elif yrn == showSceneNameListCmd: PanelStateHandle.panelStateChange(showSceneNameListCmd)
def askForLoadSave_func(oldPanel, saveId): cmdList = SaveHandleFramePanel.askLoadSavePanel() yrn = GameInit.askfor_All(cmdList) PyCmd.clr_cmd() if yrn == '0': confirmationLoadSave_func(oldPanel, saveId) elif yrn == '1': confirmationRemoveSave_func(saveId, 'LoadSavePanel', oldPanel) elif yrn == '2': loadSave_func(oldPanel)
def detailedSetting_func2(): ansList = TextLoading.getTextData(TextLoading.cmdPath, 'detailedSetting2') flowReturn = CreatorCharacterPanel.detailedSetting2Panel() if flowReturn == ansList[len(ansList)-1]: PyCmd.clr_cmd() detailedSetting_func3() else: PyCmd.clr_cmd() AttrCalculation.setAnimalCache(flowReturn) detailedSetting_func3()
def confirmationLoadSave_func(oldPanel, saveId): cmdList = SaveHandleFramePanel.confirmationLoadSavePanel() yrn = GameInit.askfor_All(cmdList) PyCmd.clr_cmd() if yrn == '0': SaveHandle.inputLoadSave(saveId) import script.Flow.Main as mainframe mainframe.mainFrame_func() else: loadSave_func(oldPanel)
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 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 askForOverlaySave_func(oldPanel, saveId): cmdList = SaveHandleFramePanel.askForOverlaySavePanel() yrn = GameInit.askfor_All(cmdList) yrn = str(yrn) PyCmd.clr_cmd() if yrn == '0': confirmationOverlaySave_func(oldPanel, saveId) elif yrn == '1': confirmationRemoveSave_func(saveId, 'EstablishSavePanel', oldPanel) elif yrn == '2': establishSave_func(oldPanel)
def detailedSetting_func1(): ''' 询问玩家年龄模板流程 ''' flowRetun = CreatorCharacterPanel.detailedSetting1Panel() characterSex = CacheContorl.characterData['character'][0].Sex sexList = list(TextLoading.getTextData(TextLoading.rolePath, 'Sex')) characterAgeTemName = AttrCalculation.getAgeTemList()[flowRetun] CacheContorl.characterData['character'][0].Age = AttrCalculation.getAge(characterAgeTemName) PyCmd.clr_cmd() detailedSetting_func3()
def confirmationRemoveSave_func(saveId:str): ''' 覆盖存档询问流程 玩家输入0:删除指定存档 Keyword arguments: saveId -- 存档id ''' cmdList = SaveHandleFramePanel.confirmationRemoveSavePanel() yrn = GameInit.askfor_All(cmdList) if yrn == '0': SaveHandle.removeSave(saveId) PyCmd.clr_cmd()
def confirmationOverlaySave_func(saveId:str): ''' 覆盖存档询问流程 玩家输入0:对存档进行覆盖 Keyword arguments: saveId -- 存档id ''' cmdList = SaveHandleFramePanel.confirmationOverlaySavePanel() yrn = GameInit.askfor_All(cmdList) PyCmd.clr_cmd() if yrn == '0': SaveHandle.establishSave(saveId)
def detailedSetting_func3(): ''' 询问玩家性经验程度流程 ''' flowReturn = CreatorCharacterPanel.detailedSetting3Panel() sexTemDataList = list(TextLoading.getTextData(TextLoading.attrTemplatePath,'SexExperience').keys()) sexTemDataList.reverse() sexTemName = sexTemDataList[flowReturn] characterSexExperienceData = AttrCalculation.getSexExperience(sexTemName) CacheContorl.characterData['character'][0].SexExperienceTem = sexTemName PyCmd.clr_cmd() detailedSetting_func8()
def detailedSetting_func4(): flowReturn = CreatorCharacterPanel.detailedSetting4Panel() courageList = featuresList['Courage'] if flowReturn == 0: CacheContorl.featuresList['Courage'] = courageList[0] elif flowReturn == 1: pass elif flowReturn == 2: CacheContorl.featuresList['Courage'] = courageList[1] CacheContorl.temporaryCharacter['Features'] = CacheContorl.featuresList.copy() PyCmd.clr_cmd() detailedSetting_func5()
def detailedSetting_func5(): flowReturn = CreatorCharacterPanel.detailedSetting5Panel() dispositionList = featuresList['Disposition'] if flowReturn == 0: CacheContorl.featuresList['Disposition'] = dispositionList[0] elif flowReturn == 1: pass elif flowReturn == 2: CacheContorl.featuresList['Disposition'] = dispositionList[1] CacheContorl.temporaryCharacter['Features'] = CacheContorl.featuresList.copy() PyCmd.clr_cmd() detailedSetting_func6()
def seeCharacterClothesList(clothingType: str): ''' 查看角色服装列表流程 Keyword arguments: clothingType -- 服装类型 ''' clothingTypeList = list(Clothing.clothingTypeTextList.keys()) while (True): nowClothingTypeIndex = clothingTypeList.index(clothingType) upTypeId = nowClothingTypeIndex - 1 if nowClothingTypeIndex == 0: upTypeId = len(clothingTypeList) - 1 nextTypeId = nowClothingTypeIndex + 1 if nowClothingTypeIndex == len(clothingTypeList) - 1: nextTypeId = 0 upType = clothingTypeList[upTypeId] nextType = clothingTypeList[nextTypeId] characterId = CacheContorl.characterData['characterId'] ChangeClothesPanel.seeCharacterClothesInfo(characterId) pageMax = getCharacterClothesPageMax(characterId, clothingType) inputS = ChangeClothesPanel.seeCharacterClothesPanel( characterId, clothingType, pageMax) startId = len(inputS) inputS += ChangeClothesPanel.seeCharacterClothesCmd( startId, clothingType) yrn = FlowHandle.askfor_All(inputS) yrn = int(yrn) PyCmd.clr_cmd() nowPageId = int(CacheContorl.panelState["SeeCharacterClothesPanel"]) if yrn == startId: clothingType = upType elif yrn == startId + 1: if nowPageId == 0: CacheContorl.panelState['SeeCharacterClothesPanel'] = str( pageMax) else: CacheContorl.panelState['SeeCharacterClothesPanel'] = str( nowPageId - 1) elif yrn == startId + 2: break elif yrn == startId + 3: if nowPageId == pageMax: CacheContorl.panelState['SeeCharacterClothesPanel'] = '0' else: CacheContorl.panelState['SeeCharacterClothesPanel'] = str( nowPageId + 1) elif yrn == startId + 4: clothingType = nextType else: clothingId = list( CacheContorl.characterData['character'][characterId] ['Clothing'][clothingType].keys())[yrn] askSeeClothingInfo(clothingType, clothingId, characterId)