iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现人生重开模拟器小游戏讲解
  • 450
分享到

Python实现人生重开模拟器小游戏讲解

Python人生重开模拟器Python模拟器 2023-01-28 06:01:08 450人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录思维导图前言一、设置初始属性1.游戏标题2.属性的初始化二、设置性别三、设置出生点四、针对每一岁自动生成人生经历总结(附代码)思维导图 前言 前面我们已经学了python中的顺

思维导图

前言

前面我们已经学了python中的顺序,选择,循环语句以及break和continue的使用,下面根据这几个语句,来讲解一个代码案例

一、设置初始属性

相信大家都玩过人生重开模拟器这样类型的小游戏。

在游戏中,一般会有四个属性

  • 颜值(face)
  • 体质(strong)
  • 智力(iq)
  • 家境(home)

在这里可以约定一下属性的范围,以及4个属性的总和不能超过多少。

我们约定属性的范围为1-10,总和不得超过20.

1.游戏标题

在这里可以先把游戏的标题打印在开头

print("******************************************")
print("                                          ")
print("            人生重开模拟器                   ")
print("                                          ")
print("         花有重开日 人无在少年                ")
print("                                          ")
print("******************************************")

2.属性的初始化

这四个属性可以由玩家自己输入,这就用到了之前讲到的input函数,通过这个函数,来完成属性的初始化。

 print("请设置初始属性(可用属性值:20)")
 face = int(input("设定颜值(1-10)"))
 iq = int(input("设定智力(1-10)")) 
 strong = int(input("设定体质(1-10)"))   
 home = int(input("设定家境(1-10)"))

这样就完成了属性的输入,这样并不完善,前面我们已经约定过了,属性不得超过多少,总和不得超过多少,所以下面要用我们学到过的if-elif-else语句,对这四个属性和总和进行判断。

    if face < 1 or face > 10:
        print("颜值设置错误")
        continue
    elif iq < 1 or iq > 10:
        print("智力设置错误")
        continue
    elif strong < 1 or strong > 10:
        print("体质设置错误")
        continue
    elif home < 1 or home > 10:
        print("家境设置错误")
        continue
    elif face + iq + strong + home > 20:
        print("总属性超过20")
        continue
    print("初始属性设置完毕")
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")

每当某一个属性不符合的时候,就把原因打印的屏幕上并重新输入属性值,如果符合约定,则把四个属性值打印在屏幕上。

当某个判断出现错误的时候,代码会直接结束程序,而不会让玩家循环输出,这是因为缺少了一个循环,那么我们就要设置一个能够使得属性初始化但不符合约定,就要让玩家重新输入属性值的功能。这个时候就用到了while循环

while True:
    print("请设置初始属性(可用属性值:20)")
    face = int(input("设定颜值(1-10)"))
    iq = int(input("设定智力(1-10)"))
    strong = int(input("设定体质(1-10)"))
    home = int(input("设定家境(1-10)"))

    if face < 1 or face > 10:
        print("颜值设置错误")
        continue
    elif iq < 1 or iq > 10:
        print("智力设置错误")
        continue
    elif strong < 1 or strong > 10:
        print("体质设置错误")
        continue
    elif home < 1 or home > 10:
        print("家境设置错误")
        continue
    elif face + iq + strong + home > 20:
        print("总属性超过20")
        continue
    print("初始属性设置完毕")
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")

当所有判断都满足约定的时候,就不能在继续循环了,要结束程序,这个时候就break就派上了用场,满足判定,直接跳出while循环。

在上面这个代码尾部加上break即可注意break的位置要缩进。

二、设置性别

设置性别是一个有意思的话题,性别一定要做到随机,设置随机数就用到了一个函数random.randint,这个函数是Python中自带的模块,使用前要先调用一下这个模块import random

通过 random.randint(1,6)可以生成一个1-6的随机整数。

  • 如果是单数:男孩
  • 如果是双数:女孩

男孩女孩会遇到不同的事件。

point = random.randint(1,6)
# print(f'随机数为:{point}')
if point % 2 == 1:
    gender = "boy"
    print("你是个男孩.")
else:
    gender = "girl"
    print("你是个女孩.")

三、设置出生点

首先按照家境可以把出生点分为4部分

  • 10是第一部分,家境最好,加成也最高
  • 7-9第二部分,也有一些加成
  • 4-6第三部分,加成较少
  • 1-4第四部分,会扣掉属性

当然,大家在自己写的时候,可以多写几个部分,让游戏充满更多的可能。

然后,在生成1-3之间的随机数,每一个数字代表一种情况。

point = random.randint(1,3)
if home == 10:
    #第一部分
    print("你出生在帝都,父母是世界首富.")
    home += 1
    face += 1
    iq += 1
elif home >= 7 and home <=9:
    #第二部分
    if point == 1:
        print("你出生在一线城市,父母是医生.")
        face += 2
    elif point == 2:
        print("你出生在一线城市,父母是资深程序员.")
        iq += 2
    else:
        print("你出生在一线城市,父母是健身教练.")
        strong += 3
        face += 1
        iq -= 1
elif home >= 4 and home <= 6:
    #第三部分
    if point == 1:
        print("你出生在三线城市,父母是企业管理.")
        iq += 1
    elif point == 2:
        print("你出生在三线城市,父母是小学老师.")
        iq += 1
    else:
        print("你出生在三线城市,父母是自己开店做生意.")
        home += 1
else:
    #第四部分
   if point == 1:
       print("你出生在农村,父母是农民.")
       strong += 2
       face -= 1
   elif point == 2:
       print("你出生在山里,父母是猎人.")
       strong += 2
       home -= 1
       face -= 1
   else:
       print("你出生在小镇上,父母是镇长.")
       face += 1
       home += 1
print(f"颜值:{face},体量:{strong},智力:{iq},家境:{home}")

四、针对每一岁自动生成人生经历

按照年龄可以把人生分为四个截断

  • 幼年
  • 青年
  • 壮年
  • 老年

每个截断会有不同的事情发生,也可能会有一些机遇。

例如:幼年截断,智力,颜值,体质等会发生变化,在这里可以展开事件的发生。

此处只写幼年经历:

因为是每一年,可以用for循环展开,把每一年的经历,用字符串进行拼接,循环到最后,输出字符串即可,针对事件的发生,可以用随机数,根据数字来发生事件,也可以根据性别,颜值,体质等来触发事件,不同的事件有不同的影响,如果得病去世,可以直接用sys.exit(0)退出程序,使用time.sleep(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("游戏结束.")
        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 >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校学习.'
            iq += 1
        elif 4 <= home <= 7:
            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:
            pass
    #打印这一年发生的事情
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("---------------------------------------------------------------")
    time.sleep(1)

总结(附代码)

在这里,并不把四个截断全部写完,只写一个幼年阶段。把这一篇文章看完,相信大家有能力自行实现后续内容,让游戏变得更完整。

注:在使用sys.exit和time.sleep的时候别忘了调用一下

import sys

import time

"""
                人生重开模拟器
                花有重开日,人无在少年
"""
import random
import sys
import time
print("******************************************")
print("                                          ")
print("            人生重开模拟器                   ")
print("                                          ")
print("         花有重开日 人无在少年                ")
print("                                          ")
print("******************************************")
while True:
    print("请设置初始属性(可用属性值:20)")
    face = int(input("设定颜值(1-10)"))
    iq = int(input("设定智力(1-10)"))
    strong = int(input("设定体质(1-10)"))
    home = int(input("设定家境(1-10)"))
    if face < 1 or face > 10:
        print("颜值设置错误")
        continue
    elif iq < 1 or iq > 10:
        print("智力设置错误")
        continue
    elif strong < 1 or strong > 10:
        print("体质设置错误")
        continue
    elif home < 1 or home > 10:
        print("家境设置错误")
        continue
    elif face + iq + strong + home > 20:
        print("总属性超过20")
        continue
    print("初始属性设置完毕")
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    break
point = random.randint(1,6)
if point % 2 == 1:
    gender = "boy"
    print("你是个男孩.")
else:
    gender = "girl"
    print("你是个女孩.")
point = random.randint(1,3)
if home == 10:
    print("你出生在帝都,父母是世界首富.")
    home += 1
    face += 1
    iq += 1
elif home >= 7 and home <=9:
    if point == 1:
        print("你出生在一线城市,父母是医生.")
        face += 2
    elif point == 2:
        print("你出生在一线城市,父母是资深程序员.")
        iq += 2
    else:
        print("你出生在一线城市,父母是健身教练.")
        strong += 3
        face += 1
        iq -= 1
elif home >= 4 and home <= 6:
    if point == 1:
        print("你出生在三线城市,父母是企业管理.")
        iq += 1
    elif point == 2:
        print("你出生在三线城市,父母是小学老师.")
        iq += 1
    else:
        print("你出生在三线城市,父母是自己开店做生意.")
        home += 1
else:
   if point == 1:
       print("你出生在农村,父母是农民.")
       strong += 2
       face -= 1
   elif point == 2:
       print("你出生在山里,父母是猎人.")
       strong += 2
       home -= 1
       face -= 1
   else:
       print("你出生在小镇上,父母是镇长.")
       face += 1
       home += 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("游戏结束.")
        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 >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校学习.'
            iq += 1
        elif 4 <= home <= 7:
            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:
            pass
    print(info)
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    print("---------------------------------------------------------------")
    time.sleep(1)

到此这篇关于Python实现人生重开模拟器小游戏讲解的文章就介绍到这了,更多相关Python人生重开模拟器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现人生重开模拟器小游戏讲解

本文链接: https://www.lsjlt.com/news/178267.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现人生重开模拟器小游戏讲解
    目录思维导图前言一、设置初始属性1.游戏标题2.属性的初始化二、设置性别三、设置出生点四、针对每一岁自动生成人生经历总结(附代码)思维导图 前言 前面我们已经学了python中的顺...
    99+
    2023-01-28
    Python人生重开模拟器 Python模拟器
  • 人生重开模拟器(Python实现)
    文章目录 人生重开模拟器介绍代码实现打印初始界面设置初始属性设置角色性别设置角色出生点针对每一岁,生成人生经历 人生重开模拟器介绍 人生重开模拟器是由VickScarlet上传至Git...
    99+
    2023-09-13
    1024程序员节 python 开发语言
  • PYTHON-“人生重开模拟器“
    🚀write in front🚀 🔎大家好,我是Aileen★。希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🆔本文由 Aileen_0v0★...
    99+
    2023-09-14
    python 开发语言 算法 学习 游戏策划
  • 基于Python实现复刻人生重开模拟器
    目录人生重开模拟器介绍代码实现打印初始界面设置初始属性设置角色性别设置角色出生点针对每一岁,生成人生经历人生重开模拟器介绍 人生重开模拟器是由VickScarlet上传至GitHub...
    99+
    2024-04-02
  • <人生重开模拟器>——《Python项目实战》
     目录 1.模拟实现 "人生重开模拟器" 1.1 问题导引: 1.2 问题分析: 2. 模拟实现分析及步骤:  3.完整源码: 4.写在最后的话: 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教! ...
    99+
    2023-09-06
    python 开发语言 pycharm 经验分享
  • Python实现贪吃蛇小游戏(单人模式)
    简单用py写了一个贪吃蛇游戏,有单人、双人模式,比较简单,适合初学者练手。基本上每行重要的语句都有注释,做了什么事一目了然 这里先介绍单人模式 一、游戏设计要点 1.游戏主体窗口(尺...
    99+
    2024-04-02
  • Python实现贪吃蛇小游戏(双人模式)
    简单用py写了一个贪吃蛇游戏,有单人、双人模式,比较简单,适合初学者练手。本上每行重要的语句都有注释,做了什么事一目了然 这里介绍双人模式 单人模式戳这里:Python简易贪吃蛇小游...
    99+
    2024-04-02
  • 基于Python实现炸弹人小游戏
    目录前言效果展示开发工具环境搭建原理简介主要代码前言 今天用Python实现的是一个炸弹人小游戏,废话不多说,让我们愉快地开始吧~ 效果展示 开发工具 Python版本: 3.6....
    99+
    2024-04-02
  • Python游戏开发之魔塔小游戏的实现
    前言 这一期我们继续完善我们的魔塔小游戏。 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本: 3.7.4 相关模块: cpgames模块; 以及一些pytho...
    99+
    2024-04-02
  • 如何用Python实现炸弹人小游戏
    本篇内容主要讲解“如何用Python实现炸弹人小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Python实现炸弹人小游戏”吧!效果展示开发工具Python版本: 3.6.4相关模块:...
    99+
    2023-06-22
  • 如何用JavaScript模拟实现打字小游戏
    这篇“如何用JavaScript模拟实现打字小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • python实现模拟数字的魔术游戏
    游戏介绍 在游戏中,魔术师要每位观众心里想一个三位数abc (a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数...
    99+
    2024-04-02
  • 使用Python开发游戏运行脚本实现模拟点击
    目录一、Android模拟器的选择二、使用大漠插件对具体的窗口进行绑定三、进行鼠标模拟本文接上一篇文章 使用Python开发游戏运行脚本(一)成功调用大漠插件 上一篇我们已经简单实现...
    99+
    2024-04-02
  • 如何使用Python开发游戏运行脚本实现模拟点击
    小编给大家分享一下如何使用Python开发游戏运行脚本实现模拟点击,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Android模拟器的选择目前市面上有很多An...
    99+
    2023-06-25
  • Python实现外星人去哪了小游戏详细代码
    1 为什么找不见外星人 为什么我们见不到外星人? 曾经在物理学上有一个著名人物叫费米,大家知道费米是在物理学上发现中子轰击的人,有一个著名的费米悖论,就是费米追问为什么外星人还见不到...
    99+
    2024-04-02
  • 微信小程序实现狼人杀小游戏的示例详解
    目录一、项目展示二、首页三、游戏页四、特殊角色五、源码一、项目展示 狼人杀是一款多人参与的,通过语言描述推动、较量口才和分析判断能力的策略类桌面游戏 玩家人数适于4-18人参与 主要...
    99+
    2024-04-02
  • Python实现过迷宫小游戏示例详解
    目录前言开发工具环境搭建原理简介主要代码前言 今天为大家带来解闷用的过迷宫小游戏分享给大家好了。让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pygam...
    99+
    2024-04-02
  • 如何使用Python实现举牌小人生成器
    小编给大家分享一下如何使用Python实现举牌小人生成器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Selenium库的安装与简单使用 1. 安装se...
    99+
    2023-06-15
  • Python实现生活常识解答机器人
    一、问答平台 这个「生活常识解答」机器人采用的是:阿里达摩院发布的语言模型PLUG(最近刚发布的,目前是测试阶段),地址链接如下: https://nlp.aliyun.com/po...
    99+
    2024-04-02
  • 基于Python实现开心消消乐小游戏的示例代码
    目录前言一、准备1.1 图片素材 1.2 音频素材二、代码2.1 导入模块2.2 游戏音乐设置2.3 制作树类2.4 制作鼠标点击效果2.5 制作出现元素2.6 数组2.7...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作