人生重开模拟器是一款文字类小游戏. 玩家可根据提示输入角色的初始属性之后, 就可以开启不同的人生经历.  具体可以网上搜索“人生重启模拟器”,就能找到这款游戏的许多版本。

1.菜单栏的编写

菜单栏的编写是整个项目最简单的地方,只需要用到print函数

# 首先打印一个菜单栏
print('-----------------------------------------')
print('| 花有重开日,人无再少年 |')
print('| |')
print('| 欢迎来到人生重开模拟器 |')
print('-----------------------------------------')

2.玩家确定颜值、体质、智力、家境

首先我们定义四个变量,使用input函数进行输入,然后通过int转换为数字值

face = int(input("请输入你的颜值:"))
strong = int(input("请输入你的体质:"))
iq = int(input("请输入你的智商"))
home = int(input("请输入你的家境:"))

因为我们要求这四个属性值需要1-10,这四个值总和不超过20。所以需要用到循环条件判断,和break和continue语句

# 接下来,创建颜值,体质,智力,家境
# 这四个属性值都要在1-10之间,总和不要超过20 while True:
print("请输入你的属性值")
face = int(input("请输入你的颜值:"))
strong = int(input("请输入你的体质:"))
iq = int(input("请输入你的智商:"))
home = int(input("请输入你的家境:")) # 如果单个属性值超过10,提示用户重新输入
if (face > 10 or face < 1):
print("颜值输入错误,请重新输入")
continue
if (strong > 10 or strong < 1):
print("体质输入错误,请重新输入")
continue
if (iq > 10 or iq < 1):
print("智商输入错误,请重新输入")
continue
if (home > 10 or home < 1):
print("家境输入错误,请重新输入")
continue
if (face + strong + iq +home > 20):
print("属性值总和错误,请重新输入")
continue
print("颜值:",face, "体质:",strong,"智商:",iq,"家境:",home)

3.生成性别

random模块可以生成一个随机数

random.randint(beg,end)# 可以生成【beg,end】的随机数
#接下来生成角色性别
# 使用random可以生成随机数
point = random.randint(1,3)
if point == 1:
gender = '男'
print("你是男孩")
elif point == 2:
gender = '女'
print("你是一个女孩")
else:
gender = '男娘'
print("你是一个小男娘")

4.设定角色出生点

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("你出生在三线城市,你父母是个体户")
home +=1
elif point == 2:
print("你出生在三线城市,你父母是医生")
face += 1
else:
print("你出生在三线城市,你父母是教师")
iq += 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}")

5.各个年龄段的变化

5.1 幼年阶段

# 幼年阶段
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 >= 7 and age >= 6:
info += '你的父母把你送到更好的学校学习'
iq += 1
elif 4 <= home <= 6:
if gender == 'boy':
info += '你的父母鼓励你多运动, 争取成为运动员'
strong += 1
else:
info += '你的父母鼓励你多打扮自己'
face += 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:
info += '这一年没有特别的事情发生'
# 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 为了方便观察, 加一个sleep
time.sleep(2)

5.2 青年阶段

# 青年阶段
for age in range(11, 21):
info = f'你今年{age}岁, '
point = random.randint(1, 3) # 教育触发的事件
if iq >= 7 and point == 1:
info += '你在学校表现突出, 被选为班长!'
if gender == 'boy':
strong += 1
else:
face += 1
elif iq < 5 and point == 2:
info += '你的学习成绩不理想, 需要更多努力'
if gender == 'boy':
strong -= 1
else:
face -= 1 # 职业选择事件
elif age >= 16:
if iq >= 8 and strong >= 7:
info += '你的学业成就优秀, 获得了奖学金, 考上了理想的大学!'
iq += 1
strong += 1
elif iq < 5 and strong < 5:
info += '你无法考上理想的大学, 面临职业选择困难'
if gender == 'boy':
strong -= 1
else:
face -= 1
else:
info += '你选择了一份普通的工作, 开始了职业生涯' # 情感生活事件
elif age >= 18:
if point == 1:
info += '你谈了一场甜蜜的恋爱, 与心爱的人交往中'
if gender == 'boy':
strong += 1
else:
face += 1
elif point == 2:
info += '你的恋爱关系出现了问题, 面临分手'
if gender == 'boy':
strong -= 1
else:
face -= 1 # 健康成长事件
else:
info += '你在青年阶段健康成长, '
if point == 1:
info += '你继续保持健康的体魄'
strong += 1
elif point == 2:
info += '你外貌更加成熟美好'
face += 1
else:
info += '这一阶段没有特别的事情发生' # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 加入延迟以模拟事件发生
time.sleep(2)

5.3中年阶段

# 中年阶段
for age in range(21, 61):
info = f'你今年{age}岁, '
point = random.randint(1, 3)
# 职业发展事件
if age >= 21 and age <= 40:
if iq >= 8 and strong >= 7:
info += '你在职场上取得了显著成就, 获得了晋升!'
iq += 1
strong += 1
home += 1
elif iq < 5 and strong < 5:
info += '你在职场上遇到了挑战, 需要调整策略'
iq -= 1
strong -= 1
home -= 1
else:
info += '你的职业生涯稳步发展' # 家庭生活事件
elif age >= 25:
if point == 1:
info += '你的家庭生活幸福美满'
home += 1
elif point == 2:
info += '你的家庭出现了一些小矛盾, 需要沟通解决'
home -= 1 # 健康问题
if age > 40:
if point == 1:
info += '你开始注重健康, 定期进行体检'
strong += 1
elif point == 2:
info += '你遇到了健康问题, 需要及时治疗'
strong -= 1 # 退休生活准备
if age >= 55:
info += '你开始考虑退休生活, 准备享受晚年'
home += 1 # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 加入延迟以模拟事件发生
time.sleep(2)

5.4 晚年阶段

# 晚年阶段
for age in range(61, 81):
info = f'你今年{age}岁, '
point = random.randint(1, 3) # 退休生活事件
if age >= 61:
if point == 1:
info += '你开始享受退休生活, 生活变得悠闲'
home += 1
elif point == 2:
info += '你开始感到无聊, 需要找点事情做'
home -= 1 # 健康问题
if age > 70:
if point == 1:
info += '你开始注重健康, 定期进行体检'
strong += 1
elif point == 2:
info += '你遇到了健康问题, 需要及时治疗'
strong -= 1 # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
print("你这一生结束了")
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
# 加入延迟以模拟事件发生
time.sleep(2)

6.整体代码

# 人生重开模拟器
import random
import time
import sys
# 首先打印一个菜单栏
print('-----------------------------------------')
print('| 花有重开日,人无再少年 |')
print('| |')
print('| 欢迎来到人生重开模拟器 |')
print('-----------------------------------------') # 接下来,创建颜值,体质,智力,家境
# 这四个属性值都要在1-10之间,总和不要超过20 while True:
print("请输入你的属性值")
face = int(input("请输入你的颜值:"))
strong = int(input("请输入你的体质:"))
iq = int(input("请输入你的智商:"))
home = int(input("请输入你的家境:")) # 如果单个属性值超过10,提示用户重新输入
if (face > 10 or face < 1):
print("颜值输入错误,请重新输入")
continue
if (strong > 10 or strong < 1):
print("体质输入错误,请重新输入")
continue
if (iq > 10 or iq < 1):
print("智商输入错误,请重新输入")
continue
if (home > 10 or home < 1):
print("家境输入错误,请重新输入")
continue
if (face + strong + iq +home > 20):
print("属性值总和错误,请重新输入")
continue
print("颜值:",face, "体质:",strong,"智商:",iq,"家境:",home)
break #接下来生成角色性别
# 使用random可以生成随机数
point = random.randint(1,3)
if point == 1:
gender = '男'
print("你是男孩")
elif point == 2:
gender = '女'
print("你是一个女孩")
else:
gender = '男娘'
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("你出生在三线城市,你父母是个体户")
home +=1
elif point == 2:
print("你出生在三线城市,你父母是医生")
face += 1
else:
print("你出生在三线城市,你父母是教师")
iq += 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}") # 人生正式开始
# 幼年阶段
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 >= 7 and age >= 6:
info += '你的父母把你送到更好的学校学习'
iq += 1
elif 4 <= home <= 6:
if gender == 'boy':
info += '你的父母鼓励你多运动, 争取成为运动员'
strong += 1
else:
info += '你的父母鼓励你多打扮自己'
face += 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:
info += '这一年没有特别的事情发生'
# 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体质: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 为了方便观察, 加一个sleep
time.sleep(2) # 青年阶段
for age in range(11, 21):
info = f'你今年{age}岁, '
point = random.randint(1, 3) # 教育触发的事件
if iq >= 7 and point == 1:
info += '你在学校表现突出, 被选为班长!'
if gender == 'boy':
strong += 1
else:
face += 1
elif iq < 5 and point == 2:
info += '你的学习成绩不理想, 需要更多努力'
if gender == 'boy':
strong -= 1
else:
face -= 1 # 职业选择事件
elif age >= 16:
if iq >= 8 and strong >= 7:
info += '你的学业成就优秀, 获得了奖学金, 考上了理想的大学!'
iq += 1
strong += 1
elif iq < 5 and strong < 5:
info += '你无法考上理想的大学, 面临职业选择困难'
if gender == 'boy':
strong -= 1
else:
face -= 1
else:
info += '你选择了一份普通的工作, 开始了职业生涯' # 情感生活事件
elif age >= 18:
if point == 1:
info += '你谈了一场甜蜜的恋爱, 与心爱的人交往中'
if gender == 'boy':
strong += 1
else:
face += 1
elif point == 2:
info += '你的恋爱关系出现了问题, 面临分手'
if gender == 'boy':
strong -= 1
else:
face -= 1 # 健康成长事件
else:
info += '你在青年阶段健康成长, '
if point == 1:
info += '你继续保持健康的体魄'
strong += 1
elif point == 2:
info += '你外貌更加成熟美好'
face += 1
else:
info += '这一阶段没有特别的事情发生' # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 加入延迟以模拟事件发生
time.sleep(2) # 中年阶段
for age in range(21, 61):
info = f'你今年{age}岁, '
point = random.randint(1, 3)
# 职业发展事件
if age >= 21 and age <= 40:
if iq >= 8 and strong >= 7:
info += '你在职场上取得了显著成就, 获得了晋升!'
iq += 1
strong += 1
home += 1
elif iq < 5 and strong < 5:
info += '你在职场上遇到了挑战, 需要调整策略'
iq -= 1
strong -= 1
home -= 1
else:
info += '你的职业生涯稳步发展' # 家庭生活事件
elif age >= 25:
if point == 1:
info += '你的家庭生活幸福美满'
home += 1
elif point == 2:
info += '你的家庭出现了一些小矛盾, 需要沟通解决'
home -= 1 # 健康问题
if age > 40:
if point == 1:
info += '你开始注重健康, 定期进行体检'
strong += 1
elif point == 2:
info += '你遇到了健康问题, 需要及时治疗'
strong -= 1 # 退休生活准备
if age >= 55:
info += '你开始考虑退休生活, 准备享受晚年'
home += 1 # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
# 加入延迟以模拟事件发生
time.sleep(2) # 晚年阶段
for age in range(61, 81):
info = f'你今年{age}岁, '
point = random.randint(1, 3) # 退休生活事件
if age >= 61:
if point == 1:
info += '你开始享受退休生活, 生活变得悠闲'
home += 1
elif point == 2:
info += '你开始感到无聊, 需要找点事情做'
home -= 1 # 健康问题
if age > 70:
if point == 1:
info += '你开始注重健康, 定期进行体检'
strong += 1
elif point == 2:
info += '你遇到了健康问题, 需要及时治疗'
strong -= 1 # 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
print('---------------------------------------------')
print("你这一生结束了")
print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')
# 加入延迟以模拟事件发生
time.sleep(2)

python项目实战——人生重开模拟器的更多相关文章

  1. 人生重开模拟器「GitHub 热点速览 v.21.36」

    作者:HelloGitHub-小鱼干 人生是不能重来的,但是 lifeRestart 能满足你的重开心愿.初始值不满意,你可以一直随机生成或者自动添加颜值.智力.运气值,倒是一种"重生&qu ...

  2. "人生重开模拟器",10分钟轻松搭建!

    人生重开模拟器是最近爆火的一款非常好玩的模拟游戏,会带你走入一个有趣的世界,开启全新的人生旅程,即"人生重开". 然而实际上,这款游戏短短在3天内上线,在百度贴吧.朋友圈.QQ群. ...

  3. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  4. Python项目实战:福布斯系列之数据采集

    1 数据采集概述 开始一个数据分析项目,首先需要做的就是get到原始数据,获得原始数据的方法有多种途径.比如: 获取数据集(dataset)文件 使用爬虫采集数据 直接获得excel.csv及其他数据 ...

  5. Jenkins部署Python项目实战

    一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...

  6. 4.Python项目实战

    这里会每个周更新一个Python的大练习,作为 实战项目... elk

  7. Python项目实战

    编程只有不断练习才能掌握其精髓,多练练网上的习题和项目,才能掌握python的精髓. Python的模块和包是出了名的多,因此你不必自己从底层开始写起,只需要看懂模块和包的使用文档就可以了,因此掌握一 ...

  8. 【Python项目实战】Pandas:让你像写SQL一样做数据分析(一)

    1. 引言 Pandas是一个开源的Python数据分析库.Pandas把结构化数据分为了三类: Series,1维序列,可视作为没有column名的.只有一个column的DataFrame: Da ...

  9. 我来教你如何用Docker部署最近火爆的人生重开模拟器

    文章目录 获取项目源码包 Dockerfile 构建docker镜像 启动docerk容器 访问liferestart 如果人生可以重来... <可惜没如果> github项目地址:htt ...

  10. python项目实战-小游戏1

    项目规则: 1.玩家和敌人分别从现有的角色中选择3个角色 2.随机生成目前的血量,和攻击量 3.游戏规则:当玩家向敌人发起攻击,敌人当前的血量=之前的血量-玩家的血量,同理 4.3局两胜 5.自定义玩 ...

随机推荐

  1. cdq分治 提高篇

    优化动态规划 序列 首先要会最长上升子序列的转移,这里就不说了. 我们 \(i\) 位置的初始值为 \(a_i\),可能变成的最大值为 \(mx_i\),可能变成的最小值为 \(mn_i\). 然后如 ...

  2. 一口Linux公众号粉丝破万了!

    0.楔子 终于万粉了! 总算熬过了冷启动阶段. 一万这个小目标看着很简单, 但是实际做的时候,发现远没有自己想的那么容易. 亿万粉丝,其实并不是很多,一度犹豫要不要写这个万份总结, 和嵌入式领域内的一 ...

  3. Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?

    Java 实现线程的方式有几种方式?带有返回值的线程怎么实现? 在Java线程开发中,有几种方法开启线程?假如需要得到线程返回的信息怎么办?可以实现吗?凯哥将通过源码和大家一起分享下线程怎么将返回值带 ...

  4. 使用 nuxi generate 进行预渲染和部署

    title: 使用 nuxi generate 进行预渲染和部署 date: 2024/9/4 updated: 2024/9/4 author: cmdragon excerpt: 通过 nuxi ...

  5. vue中代理解决跨域

    跨域是什么 简单的讲就是你在一个地方使用另一个地方的资源,被浏览器给挡下来了,不让不用!当然,它挡下来是有自己理由的:为了安全(╬▔皿▔)╯. 解决跨域 我是用vue开发的,就vue代理模式解决跨域说 ...

  6. [Udemy] AWS Certified Data Analytics Specialty - 5.Visualization

    QuickSight SPICE是 QuickSight 的加速技术

  7. sicp每日一题[1.42]

    Exercise 1.42 Let f and g be two one-argument functions. The composition f after g is defined to be ...

  8. OIDC – 关于 SAML 和 ADFS

    前言 最近听朋友说, 正在使用 ADFS 做 SSO, 哎哟. 我都是用 OIDC 做的, 这个 ADFS 是啥? 没听过. 于是搜索了一下, 这里先做一个小记入. ADFS 介绍 参考: stack ...

  9. uniCloud

    https://doc.dcloud.net.cn/uniCloud/ 什么是uniCloud uniCloud推出了opendb,包含了大量的开源数据库模板,常见数据表无需自己设计 uniCloud ...

  10. 大模型应用开发初探 : 通用函数调用Planner

    大家好,我是Edison. 上一篇,我们了解了什么是AI Agent以及如何用Semantic Kernel手搓一个AI Agent.有朋友留言说,自动函数调用对大模型有较高的要求,比如Azure O ...