用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 += 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)
    

    作者:写代码的大学生

    物联沃分享整理
    物联沃-IOTWORD物联网 » 用Python实战人生重开模拟器

    发表回复