赞
踩
gitee代码提交:人生重开模拟器的代码实现,想看完整代码请点击这里!!!
实现一个简化版本的人生重开模拟器
1.游戏开始的时候,设定初始属性:颜值,体质,智力,家境
2.开始游戏,随机生成性别和出生点
3.针对每一年,都生成人生的经历(依靠一定的随机因素+当前角色的属性)
print(f"+----------------------------------------------+")
print(f"| 花有重开日,人无再少年 |")
print(f"| |")
print(f"| 欢迎来到, 人生重开模拟器 |")
print(f"| |")
print(f"+----------------------------------------------+")
# 循环往复玩
while True:
# 设置初始值
print("请设置初始属性(可用点数总数为 20)")
# 颜值
face = int(input(f"请输入初始颜值:"))
# 体质
strong = int(input(f"请输入初始体质值:"))
# 家境
home = int(input(f"请输入初始家境值:"))
# 智力
iq = int(input(f"请输入初始智力值:"))
if face < 1 or face >= 20:
print(f"颜值属性不在范围内")
continue
if strong < 1 or strong >= 20:
print(f"体质属性不在范围内")
continue
if home < 1 or home >= 20:
print(f"家境属性不在范围内")
continue
if iq < 1 or iq >= 20:
print(f"智力属性不在范围内")
continue
if face + strong + home + iq != 20:
print(f"属性总和不正确")
continue
# 如果当前上面的条件都没有被触发, 则认为玩家输入的数据是合法的.
# 此时就可以跳出循环结束输入了
print(f"当前属性值-> 颜值:{face},体质:{strong},家境:{home},智力:{iq}")
print(f"开始进行游戏,旅途愉快!!!")
break
age = 0
# 出生点的设置:
if home >= 9:
print(f"你出生在帝都, 你的父母是高官政要")
home += 1
iq += 1
face += 1
elif 7 <= home < 9:
print(f"你出生在一线城市,你的父母是达官显贵")
face += 1
strong += 1
elif 4 <= home < 7:
print(f"你出生在二线城市,你的父母是教师")
iq += 1
elif 2 <= home < 4:
print(f"你出生在三线城市,你的父母是工人")
else:
print(f"你出生在农村,面朝黄土背朝天")
iq -= 1
strong -= 1
face -= 1
这样设置的出生点太固定最好能出现随机的情况(带个随机值,让随机值控制出生点)
# 设定角色的出生点
# 为了简单, 就直接生成 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('你出生在三线城市, 你的父母是医生')
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}')
# 性别的设置
# 使用 random.randint(beg, end), 就能生成 [beg, end] 随机整数
point = random.randint(1, 6)
print(f'point = {point}')
if point % 2 == 1:
gender = 'boy'
print('你是个男孩')
else:
gender = 'girl'
print('你是个女孩')
# 幼年阶段(1~10岁)
for age in range(1, 11):
# 把一整年的打印都整理到一个字符串中, 在这一年的结尾统一打印
info = f'你今年 {age} 岁. '
# 生成1到3的随机整数
point = random.randint(1, 3)
# 编写随机事件
# 性别触发的事件
if gender == 'girl' and home <= 3 and point == 1:
info += '你的家里人重男轻女思想非常严重, 你被遗弃了!'
print(info)
print('游戏结束!')
sys.exit(0)
# 体质触发的事件
# 使用 elif 是为了保证每年只触发一个事件!
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 += '你的父母鼓励你多打扮自己'
face += 1
else:
# 家境 < 4
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
sys.exit()
sys 是system这个单词的缩写."是Python内部提供的一个模块
time.sleep(1)
time也是python提供的模块.
sleep 的功能就是让程序暂停一会,再继续执行
请根据上述代码自行设置,发挥自己的想象
# 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体质: {strong}, 智力: {iq}, 家境: {home}')
print('------------------------------------------------------')
# 为了方便观察, 加一个小小的暂停操作
time.sleep(1)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。