python项目实战——人生重开模拟器
文章目录
人生重开模拟器是一款文字类小游戏. 玩家可根据提示输入角色的初始属性之后, 就可以开启不同的人生经历. 具体可以网上搜索“人生重启模拟器”,就能找到这款游戏的许多版本。
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项目实战——人生重开模拟器的更多相关文章
- 人生重开模拟器「GitHub 热点速览 v.21.36」
作者:HelloGitHub-小鱼干 人生是不能重来的,但是 lifeRestart 能满足你的重开心愿.初始值不满意,你可以一直随机生成或者自动添加颜值.智力.运气值,倒是一种"重生&qu ...
- "人生重开模拟器",10分钟轻松搭建!
人生重开模拟器是最近爆火的一款非常好玩的模拟游戏,会带你走入一个有趣的世界,开启全新的人生旅程,即"人生重开". 然而实际上,这款游戏短短在3天内上线,在百度贴吧.朋友圈.QQ群. ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- Python项目实战:福布斯系列之数据采集
1 数据采集概述 开始一个数据分析项目,首先需要做的就是get到原始数据,获得原始数据的方法有多种途径.比如: 获取数据集(dataset)文件 使用爬虫采集数据 直接获得excel.csv及其他数据 ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- 4.Python项目实战
这里会每个周更新一个Python的大练习,作为 实战项目... elk
- Python项目实战
编程只有不断练习才能掌握其精髓,多练练网上的习题和项目,才能掌握python的精髓. Python的模块和包是出了名的多,因此你不必自己从底层开始写起,只需要看懂模块和包的使用文档就可以了,因此掌握一 ...
- 【Python项目实战】Pandas:让你像写SQL一样做数据分析(一)
1. 引言 Pandas是一个开源的Python数据分析库.Pandas把结构化数据分为了三类: Series,1维序列,可视作为没有column名的.只有一个column的DataFrame: Da ...
- 我来教你如何用Docker部署最近火爆的人生重开模拟器
文章目录 获取项目源码包 Dockerfile 构建docker镜像 启动docerk容器 访问liferestart 如果人生可以重来... <可惜没如果> github项目地址:htt ...
- python项目实战-小游戏1
项目规则: 1.玩家和敌人分别从现有的角色中选择3个角色 2.随机生成目前的血量,和攻击量 3.游戏规则:当玩家向敌人发起攻击,敌人当前的血量=之前的血量-玩家的血量,同理 4.3局两胜 5.自定义玩 ...
随机推荐
- jQuery Eazyui的学习和使用(二)
既然这么优秀,我们赶紧来学学吧~ 下载地址 解压得到这些文件夹: 下面开始学习使用.(根据提供的demo学习常用基础控件的使用) 基础面板 引入对应样式文件和js文件后就可以直接使用了. 代码: &l ...
- VIM正则替换行尾
https://nfcwar.lofter.com/post/1d1ee5d7_670890a 替换/删除某个字符后面的所有内容::%s/b.*/c/g 删除b后面所有的字符,以c替换.用g表示全 ...
- 最短路之Dijkstra
Dijkstra算法: Dijkstra是一种求解 非负权图 上单源最短路径的算法. 思路:将所有结点分为两个集合:已经确定最短路径的点(S)和未确定最短路长度的点集(T),开始时所有点都属于T 初始 ...
- GPT 中的函数调用(function call)是什么?
在 OpenAI ChatGPT API 和 Google Gemini API 中我们可以看到函数调用的功能.这个功能是做什么用的?下面大概讲解. 以 Google Gemini API 函数调用 ...
- MySQL服务端innodb_buffer_pool_size配置参数
innodb_buffer_pool_size是什么? innodb_buffer_pool是 InnoDB 缓冲池,是一个内存区域保存缓存的 InnoDB 数据为表.索引和其他辅助缓冲区.innod ...
- Angular Material 18+ 高级教程 – CDK Accessibility の Focus
介绍 CDK Focus 是对原生 DOM focus 的上层封装和扩展. Focus Origin 原生 DOM focus 我们只能知道 element 被 focus 了,但是无法知道它是怎么被 ...
- 人脸识别 face detect & recognize
前言 最近有一个项目要升级. 它是一个在线教育的 web app. 由于学生年龄小, 不适合用 username/password 这种方式做登入. 所以项目开始之初是使用 RFID 来登入的. 但由 ...
- Parquet.Net: 将 Apache Parquet 移植到 .NET
Parquet.Net 是一个用于读取和写入 Apache Parquet 文件的纯 .NET 库,使用MIT协议开源,github仓库:https://github.com/aloneguid/pa ...
- 大模型应用开发初探 : 通用函数调用Planner
大家好,我是Edison. 上一篇,我们了解了什么是AI Agent以及如何用Semantic Kernel手搓一个AI Agent.有朋友留言说,自动函数调用对大模型有较高的要求,比如Azure O ...
- SpringBoot注解大全(详细)
1. @ActiveProfiles 用来声明活动的profile–@ActiveProfiles("prod"(这个prod定义在配置类中)) @RunWith(SpringRu ...