案例1:人生重开模拟器(Python)——直接带你入门~

本案例——人生重开模拟器,主要的目的就是熟悉和掌握基础语法(不涉及def定义函数)的基本操作~~

一、下面是本系统用到的主要语法:

基础语法(一):

        常量、变量、类型(整数,浮点数,字符串,布尔值)、注释、输入输出、

        运算符(算术运算符,关系运算符、逻辑运算符、赋值运算符)

基础语法(二):

        条件语句:

                if  ; if….else ; if…elif…elif…else;

                while

                for

                continue

                break

二、整体框架

接下来我把整体的系统框架构思下来,最后会附上代码,代码段含解释~~:

 

 三、代码示例:

接下来就是代码段的示例:

有部分涉及到逻辑思路的地方都写上了注释,我觉得特别适合新手掌握基础语法思路~~

***目前本案例的人生重开是到【青年阶段】,剩下的读者可以自行参照思路进行一次人生重开~~~**

import random
import sys
import time

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


#设置初始属性
#颜值 体质 智力 家境 总和不超过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

#生成角色的性别
#使用 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("你是个女孩")


#设定角色的出生点
#设置生成[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("你出生在镇上,父母是个体户")
        home += 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}岁。'
    #生成一个[1-3]的随机整数。
    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 <= 3 and age >=7:
        info += '你长得太丑了,别的小孩都不喜欢你'
        if iq > 5:
            info += '你决定用学习来填充自己!'
            iq += 1
        else:
            if gender == 'boy':
                info += "你和别的小孩经常打架,划花了脸"
                strong += 1
                face -= 1
            else:
                info +="你经常被别的小孩欺负"
                iq -= 1
                face -= 1
    #智商触发事件
    elif iq < 2:
        info += "你看起来傻傻的..."
        if home >= 8 and age <= 6:
            info += " 你的父母把你送到更好的学校学习!"
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += "你的父母鼓励你多运动,争取成为运动员"
                strong += 2
            else:
                info +="你的父母鼓励你多打扮自己"
                face += 2
        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
    #打印这一年发生的事情
    print(info)
    print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")
    print('---------------------------------------------------')
    time.sleep(1)
#青年阶段
for age in range(11,21):
    info: str = f'你今年{age}岁。'
    #生成一个[1-3]的随机整数。
    point = random.randint(1,3)
    #性别触发事件
    if gender == "girl" and face <= 2  and point == 3:
        info += "你长得太丑了,遭遇了校园暴力后自杀."
        print(info)
        print("游戏结束!")
        sys.exit(0)
    #颜值触发事件
    elif face > 7 and point >= 2:
        info += '你长得太漂亮了,是全校追捧的对象'
        if home >= 8:
            info +="你的父母非常富有,直接送你出道了"
            face += 3
            home += 2
        elif 3 <= home <= 6 and point == 1:
            info += "你的父母经济较为富裕,把你送进了艺校培训"
            strong += 1
            face += 1
        else:
            info += '你的家庭太穷了,没法负担起你的学费,你退学了'
            face -= 2
            home -= 1
            strong += 2
    #体质触发事件
    elif strong > 7 and age < 16:
        info += '你的体育才能非常出众'
        if gender == 'boy' and iq > 7:
            info += "你德智体能全面发展,是全校的校草"
            iq += 2
            face += 1
            strong += 1
        elif 5 <= iq <= 7 and  home >=5:
            info += "你的父母很支持你走体育的道路,所以你越来越强壮了"
            iq -= 2
            strong += 2
        else:
            info +='你荒废了你的体育才能'
            strong -= 2
            face -= 1
    #智商触发事件
    elif 4<= iq <6:
        info +="你看起来资质平平,没有什么特色"
        if home >=7:
            info += "你的父母给了你很好的教育资源"
            iq += 2
        elif 4<= home <= 5:
            if point == 1:
                info += '你知道自己的家庭普通,所以发奋学习'
                iq += 2
            elif point == 2:
                info += '你因为家境普通,所以在外兼职'
                strong += 1
            else:
                info +='你因为家庭普通,直接放弃了学习'
                iq -= 2
        else:
            info += '你因为每次都在班级倒数,直接辍学了'
            iq -= 2
            strong += 1
    #智力触发事件
    elif iq >=8:
        if iq >=9 and point == 1 and age == 17:
            info += "你因为出色的成绩,获得了高校的录取通知书"
            iq += 3
            face -= 1
            strong -= 1
        else:
            info += '因为你的出色成绩,你一直占据着年级前几'
            iq += 2
            face -= 2
            strong -= 1
    #家境触发事件
    elif home >= 2 and point >= 2:
        if iq >=7 and home < 3:
            info += '你因为家庭的困窘,不断的学习钻研'
            home += 1
            iq += 2
        elif 4<= iq <= 6 and home < 2:
            info += "你为了补贴家用,白天下课打工,晚上学习"
            strong -= 2
            home -= 1
        else:
            pass
    #健康成长事件
    else:
        info += '你健康成长。'
        if point == 1:
            info += "你看起来更结实了"
            strong += 1
        elif point == 2:
            info += "你看起来更漂亮了"
            face += 1
        else:
            if face > 4:
                info += "你长残了"
                face -= 2
            elif iq < 3:
                info += "你更笨了"
                iq -= 1
            else:
                pass
    #打印这一年发生的事情
    print(info)
    print(f'颜值:{face}, 体质{strong}, 智力:{iq}, 家境:{home}')
    print("------------------------------------------------")
    time.sleep(1)

最后这里附上一个测试输入案例:

(在此我输入的是一个均为5属性的人生~~)

 

 到最后也可以看到目前到青年为止的你依然健康成长,若是属性均为1,那么很有可能早年夭折~~~

结语:开启你自己的人生重开吧~~~

物联沃分享整理
物联沃-IOTWORD物联网 » 案例1:人生重开模拟器(Python)——直接带你入门~

发表评论