您的位置:首页 > 健康 > 美食 > python项目实战——人生重开模拟器

python项目实战——人生重开模拟器

2024/12/23 16:42:28 来源:https://blog.csdn.net/2303_82176667/article/details/140035597  浏览:    关键词:python项目实战——人生重开模拟器

文章目录

  • 1.菜单栏的编写
  • 2.玩家确定颜值、体质、智力、家境
  • 3.生成性别
  • 4.设定角色出生点
  • 5.各个年龄段的变化
    • 5.1 幼年阶段
    • 5.2 青年阶段
    • 5.3中年阶段
    • 5.4 晚年阶段
  • 6.整体代码

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

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 += 1home -= 1else:info += '你的父母没精力管你, 你的身体状况更遭了'strong -= 1# 颜值触发的事件elif face <= 4 and age >= 7:info += '你长得太丑了, 别的小朋友不喜欢你, 'if iq > 5:info += '你决定用学习填充自己!'iq += 1else:if gender == 'boy':info += '你和别的小朋友经常打架!'strong += 1iq -= 1else:info += '你经常被别的小朋友欺负'strong -= 1# 智力触发的事件elif iq < 5:info += '你看起来傻傻的, 'if home >= 7 and age >= 6:info += '你的父母把你送到更好的学校学习'iq += 1elif 4 <= home <= 6:if gender == 'boy':info += '你的父母鼓励你多运动, 争取成为运动员'strong += 1else:info += '你的父母鼓励你多打扮自己'face += 1else:info += '你的父母为此经常吵架'if point == 1:strong -= 1elif point == 2:iq -= 1else:pass# 健康成长事件else:info += '你健康成长, 'if point == 1:info += '你看起来更结实了'strong += 1elif point == 2:info += '你看起来更好看了'face += 1else:info += '这一年没有特别的事情发生'# 打印这一年发生的事情print(info)print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}')print('---------------------------------------------')# 为了方便观察, 加一个sleeptime.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 += 1else:face += 1elif iq < 5 and point == 2:info += '你的学习成绩不理想, 需要更多努力'if gender == 'boy':strong -= 1else:face -= 1# 职业选择事件elif age >= 16:if iq >= 8 and strong >= 7:info += '你的学业成就优秀, 获得了奖学金, 考上了理想的大学!'iq += 1strong += 1elif iq < 5 and strong < 5:info += '你无法考上理想的大学, 面临职业选择困难'if gender == 'boy':strong -= 1else:face -= 1else:info += '你选择了一份普通的工作, 开始了职业生涯'# 情感生活事件elif age >= 18:if point == 1:info += '你谈了一场甜蜜的恋爱, 与心爱的人交往中'if gender == 'boy':strong += 1else:face += 1elif point == 2:info += '你的恋爱关系出现了问题, 面临分手'if gender == 'boy':strong -= 1else:face -= 1# 健康成长事件else:info += '你在青年阶段健康成长, 'if point == 1:info += '你继续保持健康的体魄'strong += 1elif point == 2:info += '你外貌更加成熟美好'face += 1else: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)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com