【Python】4. 人生重开模拟器(简易版)

简介: 【Python】4. 人生重开模拟器(简易版)

gitee代码提交:人生重开模拟器的代码实现,想看完整代码请点击这里!!!
==实现一个简化版本的人生重开模拟器==
1.游戏开始的时候,设定初始属性:颜值,体质,智力,家境
2.开始游戏,随机生成性别和出生点
3.针对每一年,都生成人生的经历(依靠一定的随机因素+当前角色的属性)

1. 控制台界面

print(f"+----------------------------------------------+")
print(f"|               花有重开日,人无再少年              |")
print(f"|                                              |")
print(f"|             欢迎来到, 人生重开模拟器              |")
print(f"|                                              |")
print(f"+----------------------------------------------+")

2. 初始属性值分配

# 循环往复玩
while True:
    # 设置初始值
    print("请设置初始属性(可用点数总数为 20)")
    # 颜值
    face = int(input(f"请输入初始颜值:"))
    # 体质
    strong = int(input(f"请输入初始体质值:"))
    # 家境
    home = int(input(f"请输入初始家境值:"))
    # 智力
    iq = int(input(f"请输入初始智力值:"))
    if face < 1 or face >= 20:
        print(f"颜值属性不在范围内")
        continue
    if strong < 1 or strong >= 20:
        print(f"体质属性不在范围内")
        continue
    if home < 1 or home >= 20:
        print(f"家境属性不在范围内")
        continue
    if iq < 1 or iq >= 20:
        print(f"智力属性不在范围内")
        continue
    if face + strong + home + iq != 20:
        print(f"属性总和不正确")
        continue
    # 如果当前上面的条件都没有被触发, 则认为玩家输入的数据是合法的.
    # 此时就可以跳出循环结束输入了
    print(f"当前属性值-> 颜值:{face},体质:{strong},家境:{home},智力:{iq}")
    print(f"开始进行游戏,旅途愉快!!!")
    break

3. 出生点的设置

age = 0
# 出生点的设置:
if home >= 9:
    print(f"你出生在帝都, 你的父母是高官政要")
    home += 1
    iq += 1
    face += 1
elif 7 <= home < 9:
    print(f"你出生在一线城市,你的父母是达官显贵")
    face += 1
    strong += 1
elif 4 <= home < 7:
    print(f"你出生在二线城市,你的父母是教师")
    iq += 1
elif 2 <= home < 4:
    print(f"你出生在三线城市,你的父母是工人")
else:
    print(f"你出生在农村,面朝黄土背朝天")
    iq -= 1
    strong -= 1
    face -= 1

这样设置的出生点太固定最好能出现随机的情况(带个随机值,让随机值控制出生点)
在这里插入图片描述

# 设定角色的出生点
# 为了简单, 就直接生成 1-3 的随机数
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('你出生在三线城市, 你的父母是医生')
        strong += 1
    elif point == 2:
        print('你出生在镇上, 你的父母是老师')
        iq += 1
    else:
        print('你出生在镇上, 你的父母是个体户')
        home += 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}')

4. 性别的设置

# 性别的设置
# 使用 random.randint(beg, end), 就能生成 [beg, end] 随机整数
point = random.randint(1, 6)
print(f'point = {point}')
if point % 2 == 1:
    gender = 'boy'
    print('你是个男孩')
else:
    gender = 'girl'
    print('你是个女孩')

在这里插入图片描述

5. 幼年时期事件设置

# 幼年阶段(1~10岁)
for age in range(1, 11):
    # 把一整年的打印都整理到一个字符串中, 在这一年的结尾统一打印
    info = f'你今年 {age} 岁. '
    # 生成1到3的随机整数
    point = random.randint(1, 3)
    # 编写随机事件
    # 性别触发的事件
    if gender == 'girl' and home <= 3 and point == 1:
        info += '你的家里人重男轻女思想非常严重, 你被遗弃了!'
        print(info)
        print('游戏结束!')
        sys.exit(0)
    # 体质触发的事件
    # 使用 elif 是为了保证每年只触发一个事件!
    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 >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校学习'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动, 争取成为运动员'
                strong += 1
            else:
                info += '你的父母鼓励你多打扮自己'
                face += 1
        else:
            # 家境 < 4
            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:
            # 无事发生
            pass

sys.exit()
sys 是system这个单词的缩写."是Python内部提供的一个模块
time.sleep(1)
time也是python提供的模块.
sleep 的功能就是让程序暂停一会,再继续执行

6. 青年时期/老年时期

请根据上述代码自行设置,发挥自己的想象

7. 测试游戏运行

```python

# 打印这一年发生的事情
print(info)
print(f'颜值: {face}, 体质: {strong}, 智力: {iq}, 家境: {home}')
print('------------------------------------------------------')
# 为了方便观察, 加一个小小的暂停操作
time.sleep(1)

```
在这里插入图片描述

相关文章
|
2月前
|
Python
Python人生重开模拟器代码展示
本文主要是人生重开模拟器的代码演示
|
存储 Shell Linux
安卓手机上的终端模拟器Termux,实现了在手机上运行python
安卓手机上的终端模拟器Termux,可以在手机上运行python
1572 2
|
12天前
|
Python
python项目实战——人生重开模拟器
python项目实战——人生重开模拟器
|
2月前
|
Python
[Python] 人生重开模拟器
[Python] 人生重开模拟器
30 0
|
7月前
|
Python
PYTHON-“人生重开模拟器“
PYTHON-“人生重开模拟器“
60 0
|
Python
人生重开模拟器(python)-----帮你快速掌握python语法
人生重开模拟器(python)-----帮你快速掌握python语法
176 0
|
安全 测试技术 Android开发
Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
Python自动化,大概也许或者是今年最具热度的话题之一了。七月流火,招聘市场上对于Python自动化的追捧热度仍未消减,那么Python自动化到底能帮我们做些什么呢? 第一,Python自动化可以避免熟练工种的重复工作,对于功能相对完整和成熟的软件,每发布一个新的版本,无论是大版本还是小版本,其中大部分功能和界面都几乎和上一个版本相似或完全相同,但所谓向上兼容,你不能因为新功能的产生而不对老版本功能进行测试工作,而这些老功能又在上一个版本上线时测过,所以这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
|
编解码 测试技术 开发工具
Python+Appium自动化测试(15)-使用Android模拟器(详细)(一)
做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景。但前期调试脚本的话,可以先使用模拟器,这样相对更加方便。 不推荐使用Android SDK里自带模拟器,太卡。 这里介绍两款我正在用于做自动化测试的模拟器:Genymotion 与 夜神模拟器。
Python+Appium自动化测试(15)-使用Android模拟器(详细)(一)
|
6天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
20 3

相关实验场景

更多