Python-人生重开模拟器

博客主页:@披星戴月的贾维斯
欢迎关注:点赞收藏留言
系列专栏: Python专栏
请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!
一起加油,去追寻、去成为更好的自己!

Python-人生重开模拟器_第1张图片

文章目录

  • 前言
  • 1、设置初始属性
  • 2、设置性别
  • 3. 设置出生点
  • 4.针对每一岁, 生成人生经历
  • 总结

提示:以下是本篇文章正文内容,下面案例可供参考


前言

    我们已经学习了基本的Python语法知识,现在的年轻人压力普遍都有点大,不如我们利用已经学过的知识,写一个简单的人生重开模拟器,让我们体验一把”吕氏春秋”,我写的游戏,我做主。还有,我们不仅要做该游戏的主角,还要做自己生活中的主角!

1、设置初始属性

1.1初始界面设计

print("+---------------------------------------------------------------------+")
print("|                                                                     |")
print("|                     人生重开模拟器                                    |")
print("|                                                                     |")
print("|                   这垃圾人生一秒也不想待了!                             |")
print("|                       立即重开                                          |")
print("+---------------------------------------------------------------------+")

1.2设置初始属性
     我们的规则,颜值,体质,智力,家境的总和不超过400, 每一项的取值都是1-100之间。而且用户的输入可能产生错误,我们用一个while循环,如果用户输入错误就继续continue输入,输入正确就break

	while True:
    print("请设定初始属性(可用总点数 200)")
    face = int(input("设定 颜值(1-100):"))
    strong = int(input("设定 体质(1-100):"))
    iq = int(input("设定 智力(1-100):"))
    home = int(input("设定 家境(1-100):"))
    if face < 1 or face > 100:
        print("颜值设置有误!")
        continue
    if strong < 1 or strong > 100:
        print("体质设置有误!")
        continue
    if iq < 1 or iq > 100:
        print("智力设置有误!")
        continue
    if home < 1 or home > 100:
        print("家境设置有误!")
        continue
    if face + strong + iq + home > 400:
        print("总点数超过了 400!")
        continue
    print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
    break
        //如果上面的条件都没触发,就说明用户的输入是合法的
        break

Python-人生重开模拟器_第2张图片

2、设置性别

原理:通过 random.randint(1, 6) 生成一个 [1, 6] 的随机整数, 类似于掷色子. Python就是按照C/C++的rand函数来设计的。

  • 如果是单数, 则性别设为男孩
  • 如果是双数, 则性别设为女孩.

男孩和女孩会遇到不同的事件
此处的 random.randint是Python的一个模块,在Python中,如果想引入其他模块,需要把模块的名字导入进来,比如说:import random。
代码示例:

point = random.randint(1, 6) # 掷色子
if point % 2 == 1:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = 'girl'
    print("你是个女孩")

Python-人生重开模拟器_第3张图片


3. 设置出生点

首先按照家境(home), 分成四个档位.

  • 10 是第一档. 加成最高
  • [7, 9] 是第二档. 也有一些加成
  • [4, 6] 是第三档. 加成较少
  • [1, 3] 是第四档. 会扣掉属性.

再扔一次色子, 生成 [1, 3] 的随机数, 用来表示每一种细分情况.

这里的代码主要就是各种 if else 构成

代码示例:

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('你出生在三线城市, 你的父母是教师')
        iq += 1
    elif point == 2:
        print('你出生在镇上, 你的父母是医生')
        strong += 1
    else:
        print("你出生在镇上, 你的父母是个体户")
        home += 1
# 第四档
else:
    if 1 <= point <= 2:
        print('你出生在村里, 你的父母是辛苦劳作的农民')
        strong += 1
        face -= 2
    elif 3 <= point <= 4:
        print('你出生在穷乡僻壤, 你的父母是无业游民')
        home -= 1
    else:
        print('你出生在镇上, 你父母感情不和')
        strong -= 1

运行示例:
Python-人生重开模拟器_第4张图片


4.针对每一岁, 生成人生经历

    实现一个游戏的时候,在很多情况下,游戏本身涉及到的逻辑并不复杂,但是游戏中的一些具体的数据,数值平衡,是非常复杂的!
家境分成几档,每个档位有几种情况都是需要我们考虑的,所以还是有些复杂的。

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 += '你和别的小朋友经常打架'
                iq -= 1
                strong += 1
            else:
                info += '你经常被别的小朋友欺负'
                strong -= 1
    # 智商触发的事件
    elif iq < 5:
        info += '你看起来傻傻的, '
        if home >= 8 and age >= 6: 
            info += '你的父母给你送到更好的学校学习'
        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:
        info += '你健康成长, '
        if point == 1:
        info += '看起来更聪明了'
            iq += 1
        elif point == 2:
            info += '看起来更好看了'
            face += 1
        else:
            info += '看起来更结实了'
            strong += 1
    print('-------------------------------------------')
    print(info)
    print(f'strong={strong}, face={face}, iq={iq}, home={home}')
    time.sleep(1)

总的代码运行结果:
Python-人生重开模拟器_第5张图片Python-人生重开模拟器_第6张图片


总结

Python-人生重开模拟器_第7张图片

    本文和大家介绍了一个小游戏”人生重开模拟器“的设计,只用了while循环和if-else简单的逻辑,也没涉及到函数之类的设计,是一个非常适合初学者的小游戏,希望大家点赞,收藏!

你可能感兴趣的:(Python专栏,python,开发语言,游戏)