目录
1.模拟实现 "人生重开模拟器"
1.1 问题导引:
1.2 问题分析:
2. 模拟实现分析及步骤:
3.完整源码:
4.写在最后的<人话:
后记:●由于作者水平有限,文章难免存在谬误之处,生重敬请读者斧正,开模俚语成篇,拟器恳望指教!目实
——By 作者:新晓·故知
1.模拟实现 "人生重开模拟器"
1.1 问题导引:
GIF演示:“人生重开模拟器”是<人一款文字类小游戏. 玩家可根据提示输入角色的初始属性之后, 就可以开启不同的人生经历. 具体可以网上搜索“人生重启模拟器”,就能找到这款游戏的生重许多版本。这里我们找到了一款版本用于演示:(以下图片源于网络,开模这里只用于演示学习) 链接网址:人生重启模拟器游戏界面:
这里我们选择“技能”拉满选项(幻想一下那些我们所羡慕的拟器故事里的开挂人生):
根据个人选择调整初始属性:
自动生成“重启”的人生:
人生总结:
以上就是我们在网上搜索用于演示的“人生重启模拟器”游戏,原来故事里的目实“开挂人生”是如此的顺利平坦,令人羡慕,<人作者自愧不如,生重而那终究是开模幻想,认清现实,拟器依旧负重前行!目实
友情提示:适当参与游戏放松,过度游戏有害健康!
1.2 问题分析:
其实这款游戏的底层逻辑就是编程语言语句的交互运用。通过不同的语句交互(例如顺序语句、循环语句、判断语句等)根据不同的数据数值,执行相应的语句,打印相应的文字。
那么我们接下来就使用Python语言模拟实现这款游戏。由于完整的程序代码较多, 此处我们只实现其中的一部分逻辑,用于演示并巩固我们之前所学的Python的知识。
2. 模拟实现分析及步骤:
(1)设置角色初始属性 在游戏中我们设定四个属性 .我们约定每个属性的范围为 [1, 10], 并且总和不能超过 20. 如果玩家输入的初始属性不合理 , 就提示输入有误 , 重新输入。
- 颜值 (face)
- 体质 (strong)
- 智力 (iq)
- 家境 (home)
(2) 设置生成角色的性别 通过 random.randint(1, 6) 生成一个 [1, 6] 的随机整数。男孩和女孩会遇到不同的事件 .
- 如果是单数, 则性别设为男孩
- 如果是双数, 则性别设为女孩.
(3)设置角色的出生环境及背景首先按照家境 (home), 分成四个档位 .生成 [1, 3] 的随机数 , 用来表示每一种细分情况 . 这里的代码主要就是各种 if else 构成
- 10 是第一档. 加成最高
- [7, 9] 是第二档. 也有一些加成
- [4, 6] 是第三档. 加成较少
- [1, 3] 是第四档. 会扣掉属性.
(4)对角色的不同人生阶段添加测试用例:按照年龄 , 把人生经历分成四个阶段 :每个阶段都会有不同的精力和事件发生 .
- 童年阶段 [1, 10]
- 青年阶段 [11, 20]
- 壮年阶段 [20, 50]
- 老年阶段 50 岁以上.
此处我们以童年为例 , 简单实现一下这里的处理逻辑 .
- 童年阶段可塑性强, 体质, 颜值, 智力都会有较快变化
- 青年阶段主要是求学, 同时父母一辈会有明显变化, 智力和家境会有明显变化.
- 壮年阶段相对平稳, 属性变化不大, 主要是一些随机事件影响到属性.
- 老年阶段体质, 颜值, 智力都会显著退化, 并且随着年龄的上升, 疾病/死亡的风险逐渐升高.
- 使用 for 循环, 按照年龄循环起来.
- 针对每一年, 先生成[1, 3]档, 根据不同的随机数值, 来触发不同的事件.
- 根据性别, 年龄, 各种属性, 来触发不同的事件. 这里都使用 if - else 的方式来组织.
- 不同的事件可能会对属性有正面/负面的影响.
- 在每一年的最后, 打印这一年遇到的事情.
- 如果夭折, 则直接 sys.exit(0) 退出程序.
- 使用 time.sleep(1) 使程序暂停执行 1s, 方便观察程序结果.
童年阶段:
说明:由于是模拟实现“人生重启模拟器”,因此我们把基本原理学会后,可自行添加“脑洞大开”的人生经历,这里只简单的举例用于演示。
青年阶段:
壮年阶段:
老年阶段:
3.完整源码:
# 人生重开模拟器import randomimport sysimport timeprint("