“人生重开模拟器”,这是一款文字类小游戏,在百度也可以直接搜到各种网页版本。
玩家输入角色的初始属性之后,就可以开启不同的人生经历。
这里只是简单的实现一下(不然代码量太多)
在游戏中我们设定4个属性
如果玩家输入的值有误,或者超过就重新输入
# 设置属性值
while True:
print('请依次输入,颜值、体质、智力、家境(总和不能超过20)')
count = 20
face = int(input('请输入颜值0~10: '))
if face < 1 or face > 10 or face > 20:
print('设置的值违规')
continue
count -= face
strong = int(input('请输入体质0~10: '))
if strong < 1 or strong > 10 or strong > count:
print('设置的值违规')
continue
count -= strong
iq = int(input('请输入智力0~10: '))
if iq < 1 or iq > 10 or iq > count:
print('设置的值违规')
continue
count -= iq
home = int(input('请输入家境0~10: '))
if home < 1 or home > 10 or home > count:
print('设置的值违规')
continue
if face + strong + iq + home <= 20:
print('属性设置完成,随机生成性别...')
break
else:
print('属性值设置错误总和不能超过20')
通过random.randint(1,6)
的随机整数,类似于色子
# 随机生成性别
sex = random.randint(1, 6)
if sex % 2 == 0:
sex = 'girl'
print('游戏开始你是一个女孩')
else:
sex = 'boy'
print('游戏开始你是一个男孩')
首先按照家境(home),分成4个档次
再生成[1,3]的随机数,用来表示每一种细分情况
# 随机设置出生点
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('你出生在三线城市,你的父母是老师')
iq += 1
elif point == 2:
print('你出生在镇上,你的父母是医生')
strong += 1
else:
print('你出生在镇上,你的父母是个体户')
home += 1
else:
if point == 1:
print('你出生在村里,你的父母是辛苦劳作的农民')
strong += 1
face -= 2
elif point == 2:
print('你出生在穷乡僻壤,你的父母是无业游民')
home -= 1
else:
print('你出生在镇上,你父母感情不和')
strong -= 1
按照年龄, 把人生经历分成四个阶段:
每个阶段都会有不同的精力和事件发生.
此处我们以幼年为例, 简单实现一下这里的处理逻辑.
# 生成人生经历
for age in range(1, 60):
info = f'你今年{age}岁'
point = random.randint(1, 3)
# 触发性别事件
if sex == '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
if strong <= 0:
print('你没有战胜病魔去世了')
sys.exit(0)
# 颜值触发事件
elif face < 4 and age >= 7:
info += '你因为长的丑,遭到别的小朋友嫌弃,'
if iq > 5:
info += '你决定用学习填充自己'
iq += 1
else:
if sex == 'boy':
info += '你和别的小朋友经常打架'
iq -= 1
strong += 1
else:
info += '你经常被别的小朋友欺负'
strong -= 1
# 智商触发事件
elif iq < 5:
info += '你看起来傻傻的,'
if home >= 8 and age >= 6:
info += '你的父母给你送到更好的学习学习'
iq += 1
elif 4 <= home <= 7:
if sex == 'boy':
info += '你的父母鼓励多运动,加强身体素质'
strong += 1
else:
info += '你的父母鼓励你多打扮自己'
face += 1
else:
info += '你的父母因此经常为此吵架'
if point == 1:
strong -= 1
elif point == 2:
iq -= 1
# 健康成长
else:
info += '你健康成长,'
if point == 1:
info += '看起来更聪明了'
iq += 1
elif point == 2:
info += '看起来更好看了'
face += 1
else:
info += '看起来更结实了'
strong += 1
print('===============================================================================')
print(info)
print(f'颜值={face},体质={strong},智力={iq},家境={home}')
time.sleep(2)