Python 官方文档:入门教程 => 点击学习
文章目录 人生重开模拟器介绍代码实现打印初始界面设置初始属性设置角色性别设置角色出生点针对每一岁,生成人生经历 人生重开模拟器介绍 人生重开模拟器是由VickScarlet上传至Git
人生重开模拟器是由VickScarlet上传至GitHub的一款简单的文字网页游戏。
玩家点击“立即重开”并设置角色的初始属性后,程序就会随机为玩家生成对应的人生经历。
下面我们实现一个简化版的人生重开模拟器,主要目的在于熟悉python的语法。
初始界面可以自由发挥,这里博主就随便打印一下。
代码如下:
# 打印初始界面print('+-------------------------------------------+')print('| |')print('| >>人生重开模拟器<< |')print('| |')print('| 这垃圾人生一秒也不想待了 |')print('| |')print('+-------------------------------------------+')
进入游戏后第一步就是设置初始属性,此处设定以下四个属性:
我们规定每个属性的范围为1 - 10,并且这四个属性的总和不能超过20,如果玩家输入的初始属性不合理,则提示玩家输入有误并要求重新输入。体现在代码中就是,玩家输入属性后通过if语句判断输入的属性是否合法,如果不合法则通过while语句要求玩家重新进行输入。
代码如下:
# 设置初始属性# 颜值、体质、智力、家境(总和不能超过20,每一项取值在1-10之间)while True: print('请设置初始属性(可用点数总数为20)') face = int(input('请输入颜值(1-10): ')) strong = int(input('请输入体制(1-10): ')) iq = int(input('请输入智力(1-10): ')) home = int(input('请输入家境(1-10): ')) if face < 1 or face > 10: print('颜值设置有误!') continue if strong < 1 or strong > 10: print('体制设置有误!') continue if iq < 1 or iq > 10: print('智力设置有误!') continue if home < 1 or home > 10: print('家境设置有误!') continue if face + strong + iq + home > 20: print('属性总和超过了20,设置有误!') continue print('初始属性输入完毕!') print(f'颜值: {face}, 体制: {strong}, 智力: {iq}, 家境: {home}') break
关于角色的性别,我们可以随机生成一个1 - 6的整数,类似于掷色子。
性别设置后需要借助一个变量将角色的性别保存起来,因为后续男孩和女孩可能会触发不同的事件。
代码如下:
# 设置角色性别point = random.randint(1, 6)if point % 2 == 1: gender = 'boy' print('你是个男孩')else: gender = 'girl' print('你是个女孩')
说明一下:
random.randint(begin, end)
可以生成一个begin - end之间的随机整数。import 模块名
的方式将对应的模块导入进来,导入模块后以模块名.xxx
的方式就能使用该模块中的函数或变量。设置角色的出生点时,可以根据角色的家境分为四个档位:
除了将角色的出生点按照家境分为四个档位之外,还可以再生成一个随机数,对每一档的内部再进行一次细分,最终得到角色的出生点,此处涉及的也就是一些if条件判断而已。
代码如下:
# 设置角色出生点point = random.randint(1, 3)if home == 10: # 第一档 print('你出生在帝都, 你的父母是高官政要') home += 1 iq += 1 face += 1elif 7 <= home <= 9: # 第二档 if point == 1: print('你出生在大城市,父母是公务员') face += 2 elif point == 2: print('你出生在大城市,父母是企业高管') home += 2 else: print('你出生在大城市,父母是大学教授') iq += 2elif 4 <= home <= 6: # 第三档 if point == 1: print('你出生在三线城市,你的父母是医生') strong += 1 elif point == 2: print('你出生在镇上,你的父母是老师') iq += 1 else: print('你出生在镇上,你的父母是个体户') home += 1else: # 第四档 if point == 1: print('你出生在农村,父母是辛苦劳作的农民') strong += 1 face -= 2 elif point == 2: print('你出生在穷乡僻壤,你的父母是无业游民') home -= 1 else: print('你出生在镇上,你的父母感情不和') strong -= 1print(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)
说明一下:
sys.exit(退出码)
的方式让程序直接退出。time.sleep(秒数)
的方式让程序暂停若干秒。效果展示
说明一下:
来源地址:https://blog.csdn.net/chenlong_cxy/article/details/127487860
--结束END--
本文标题: 人生重开模拟器(Python实现)
本文链接: https://www.lsjlt.com/news/405700.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0