文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

人生重开模拟器(Python实现)

2023-09-13 09:55

关注

文章目录

人生重开模拟器介绍

人生重开模拟器是由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('你是个女孩')

说明一下:

设置角色出生点

设置角色的出生点时,可以根据角色的家境分为四个档位:

除了将角色的出生点按照家境分为四个档位之外,还可以再生成一个随机数,对每一档的内部再进行一次细分,最终得到角色的出生点,此处涉及的也就是一些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)

说明一下:

效果展示

在这里插入图片描述
说明一下:

来源地址:https://blog.csdn.net/chenlong_cxy/article/details/127487860

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯