172 lines
5.6 KiB
Python
172 lines
5.6 KiB
Python
#实现简化版本的人生重开模拟器
|
||
#初始属性
|
||
#开始游戏后,随机生成性比我和出生点
|
||
#每年都会生成人生的经历(随机)
|
||
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岁以上 颜值和体质显著退化
|