#实现简化版本的人生重开模拟器 #初始属性 #开始游戏后,随机生成性比我和出生点 #每年都会生成人生的经历(随机) import random import sys import time print('-------------------------------') print('| |') print('| 花有重开日。人物在少年 |') print('| |') print('| 欢迎来到人生重开模拟器 |') print('| |') print('-------------------------------') #设置初始属性 #颜值——体质——智力——家境,总和不超过20,每一项取值都是1~10之间 #使用循环,使得玩家输入有误时,重新输入 while True: print("请设置初始属性(可用点数总数为20):") face = int(input("请输入颜值(1~10):")) strong = int(input("请输入体质(1~10):")) iq = int(input("请输入智力(1~10):")) home = int(input("请输入家境(1~10):")) #通过条件语句,对于用户输入的属性值进行校验检查 #这段逻辑,可用使用elif,效果相同, #使用elif则是多个分支只能使用1个,一旦某个条件满足,就不会再走其他分支 if face < 1 or face > 10: print('颜值设置有误') continue if strong < 1 or strong > 10: print('体质设置有误') continue if iq < 1 or iq > 10: print('智商设置有误') continue if home < 1 or home > 10: print('家境设置有误') continue if face + strong + iq + home > 20: print("总属性和超过20,设置有误,请重新输入:") continue #如果上述条件都未被触发,则玩家的输入都是正确的 print("属性输入完毕~") print(f'颜值{face},体质{strong},智力{iq},家境{home}') break #随机生成角色性别 point = random.randint(1, 6) #生成随机整数 if point % 2 == 1: gender = 'boy' print('你是个男孩') else: gender = 'girl' print('你是个女孩') #设定角色的出生点 #家境加上随机数,决定出生点 point = random.randint(1, 3) if home == 10: #第一档 print("你出生在帝都,你的父母都是高官政要") home += 1 iq += 1 face += 1 elif 7 <= home <= 9: #第二档 if point == 1: print("你出生在大城市,你的父母都是公务员") face += 2 elif point == 2: print("你出生在大城市,父母都是企业高管") home += 2 else: print("你出生在大城市,父母都是大学教授") iq += 2 elif 4 <= home <= 6: #第三档 if point == 1: print("你出生在三线城市,你的父母都是医生") strong += 1 elif point == 2: print("你出生在小镇上,你的父母是教师") iq += 1 else: print("你出生在镇上,你的父母是个体户") home += 1 else: #第四档 if point == 1: print("你出生在农村,父母是辛苦劳作的农民") strong += 1 face -= 2 elif point == 2: print("你出生在穷乡僻壤,你的父母是无业游民") home -= 1 else: print("你出生在镇上,你的父母感情不和") strong -= 1 print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}") #幼年阶段[1,10] 可塑性强 for age in range(1, 11): info = f'你今年{age}岁。' point = random.randint(1, 3) #性别触发事件 if gender == 'girl' and home <= 3 and point == 1: info += '你的家里人重男轻女,你被遗弃了' print(info) print('游戏结束!!!') sys.exit(0) #体质触发的事件 elif strong <6 and point < 3: info += '你生了一场病' if home >= 5: info += '在父母的悉心照料下,你康复了' strong -= 1 home -= 1 else: info += '你的父母没精力管你,你的身体更加糟糕了' strong -= 1 #颜值触发的事件 elif face <= 4 and age >= 7: info += '你长得太丑了,别的小朋友都不喜欢你' if iq > 5: info += '你决定用学习武装自己' iq += 1 else: if gender == 'boy': info += '你和别的小朋友打架' strong += 1 iq -= 1 else: info += '你经常被别的小朋友欺负' strong -= 1 #智商触发的事件 elif iq < 5: info += '你看起来傻傻的' if home >= 8 and age >= 6: info += '你的父母把你送到更好的学校学习' iq += 1 elif 4 <= home <= 7: if gender == 'boy': info += '你的父母鼓励你多运动,争取成为运动员' strong += 1 else: info += '你的父母为此经常吵架' if point == 1: strong -= 1 elif point == 2: iq -= 1 else: pass #健康成长事件 else: info += '你健康成长' if point == 1: info += '看起来更结实了' strong += 1 elif point == 2: info += '你看起来更好看了' face += 1 else: pass print(info) print(f'颜值{face},体质{strong},智力{iq},家境{home}') print('---------------------------------------------') time.sleep(1) #青年阶段[11,20] 求学 #幼年阶段[20,50] 平稳 #老年阶段50岁以上 颜值和体质显著退化