人生重开模拟器游戏: http://remake.solaking.com/#google_vignette
此处只做简单的模拟,旨在联系Python语法: 为了简单起见此处只模拟人生中1-10岁的经历: 效果演示:
代码实现:
# 人生重开模拟器
# pycharm自动导入的模块
import random
import sys
import time
print('+-------------------------------+')
print('| |')
print('| 花有重开日,人无再少年 |')
print('| |')
print('| 欢迎来到:人生重开模拟器 |')
print('| |')
print('+-------------------------------+')
# 设置初始属性
while True:
print("请分别设置颜值,体质,家境,智力属性!(注意:总点数不超过20)")
face = int(input("请输入颜值属性点数(1-10): "))
body = int(input("请输入体质属性点数(1-10): "))
family = int(input("请输入家境属性点数(1-10): "))
iq = int(input("请输入智力属性点数(1-10): "))
# 输入有误的情况下进行重新输入
if face<0 or face>10:
print("颜值属性设置有误,请重新输入!")
continue
if body<0 or body>10:
print("体质属性设置有误,请重新输入!")
continue
if family<0 or family>10:
print("家境属性设置有误,请重新输入!")
continue
if iq<0 or iq>10:
print("智力属性设置有误,请重新输入!")
continue
if face + body + family + iq > 20:
print("属性设置点数超过20,设置有误,请重新输入!")
continue
# 设置成功!打印属性
print("属性设置完毕,您重开人生的属性设置为:")
print(f"颜值: {face},体质: {body},家境: {family},智力: {iq}")
break
# 生成角色的性别
# random.randint(1,10)生成[1,10]的随机数,包含1,10
# random是Python中的一个模块(别人写好的代码给我们用)
point = random.randint(1,10)
print(point)
if point%2 == 1:
gender='boy'
print("哇哇哇~你出生了!你是一个男孩!")
else:
gender='girl'
print("哇哇哇~你出生了!你是一个女孩!")
# 设置角色出生点
'''
家境+随机数
1档:家境为 10 ,带来一些属性加成
2档:家境为 7-9 ,也会带来一些属性加成
3档:家境为 4-6 ,会带来少量加成
4档:家境为 1-3 ,扣属性
'''
point = random.randint(1,5)
if family == 10:
# 1档
print("你出生在帝都,你的父母是高官政要.")
family += 1
face += 2
iq += 1
elif 7 <= family <= 9:
# 2档
if point == 1:
print("你出生在大城市,父母是医生.")
iq += 1
if point == 2:
print("你出生在大城市,父母是企业家.")
family+=3
iq+=1
if point==3:
print("你出生在大城市,父母是公务员.")
iq += 2
if point==4:
print("你出生在大城市,父母是大学教授.")
iq+=1
family+=1
if point==5:
print("你出生在大城市,父母是企业高管.")
family+=2
face+=1
elif 4 <=family<=6:
# 3档
if point==1:
print("你出生在二线城市,父母是医生.")
family += 1
if point==2:
print("你出生在三线城市,父母是高中老师.")
iq+=1
if point==3:
print("你出生在三线城市,父母是公务员.")
family+=1
if point==4:
print("你出生在二线城市,父母是厨师.")
body += 2
if point==5:
print("你出生在三线城市,父母是小卖部老板")
family+=1
else:
# 4挡
if point==1:
print("你出生在小县城,父母是农民.")
family -= 1
if point==2:
print("你出生在小县城,父母是小卖部老板.")
face-=1
if point==3:
print("你出生在农村,你一出生,父母就丢下你不管了")
family-=2
face-=1
if point==4:
print("你出生在偏远山村,父亲在几个月出意外去世了.")
body -=2
family-=1
if point==5:
print("你出生在大山里,母亲生下你后难产去世了.")
body -= 2
family -= 1
print(f"颜值: {face},体质: {body},家境: {family},智力: {iq}")
# 幼年阶段
for age in range(1,11):
# 一整年都打印到一个字符串中,在这一年的结尾统一打印
info = f'你今年{age}岁.'
# 生成一个1-5的随机整数
point = random.randint(1,5)
# 接下来写可能发生的各种事情
# 性别触发的事情
if gender == 'girl' and family <= 3 and point < 3:
info +='你的家人重男轻女,你被遗弃了!'
print(info)
print('游戏结束!')
sys.exit(0)
# 体质触发
elif body < 3 and point < 3:
info += '你生了一场病.'
if family > 4:
info += '你在父母的悉心照料下康复了.'
body += 1
family -= 1
else:
info += '你的父母没有精力管你,你的身体情况更加糟糕了.'
body -= 1
# 颜值触发事件
elif face > 9 and age > 5 and family > 5:
info += '你被星探发现了,去做了童星'
face += 1
family += 1
elif face < 3 and age < 6:
info += '你长得太丑了,别的小朋友不喜欢你'
if gender == 'boy':
info += '你经常和别的小朋友打架!'
body += 1
iq -= 1
else:
info += '你变得很喜欢哭,身体不好'
body -= 1
# 智商触发
elif iq > 8 and age > 4 :
info += '你很聪明,老师都对你赞不绝口.'
if family > 5:
info += '你的父母为你报了奥数班,你参加了各种奥数比赛并取得了优异的成绩.'
iq += 2
else:
info += '你的父母让你好好努力学习.'
iq += 1
else:
info += '你健康成长.'
if point == 1:
info += '你更好看了.'
face += 1
elif point == 2:
info += '你看起来更结实了.'
else:
info += '无事发生.'
# 打印发生的事情
print(info)
print(f"颜值: {face},体质: {body},家境: {family},智力: {iq}")
print('--------------------------------------------------')
# 暂停1秒
time.sleep(1)