Python --- Simulateur de réouverture de vie (version simplifiée)

Colonne : python
Page d'accueil personnelle : HaiFan.
Introduction de la colonne : Cette colonne met principalement à jour certaines connaissances de base de python, et implémente également quelques petits jeux, un carnet d'adresses, un système de gestion du temps de classe, etc. Les amis intéressés peuvent y prêter attention.


cartographie mentale

insérez la description de l'image ici

avant-propos

Nous avons déjà appris l'ordre, la sélection, l'instruction de boucle et l'utilisation de break et continue en python. Ensuite, nous expliquerons un cas de code basé sur ces instructions.


1. Définir les propriétés initiales

Je crois que tout le monde a joué à un petit jeu comme un simulateur de redémarrage de la vie.
Dans le jeu, il y a généralement quatre attributs

  1. Valeur Yan (visage)
  2. constitution (forte)
  3. intelligence (qi)
  4. antécédents familiaux

Ici, vous pouvez vous mettre d'accord sur la portée des attributs et sur le montant que la somme des quatre attributs ne peut pas dépasser.
Nous convenons que la plage d'attributs va de 1 à 10 et que la somme ne doit pas dépasser 20.

1. Titre du jeu

Ici vous pouvez imprimer le titre du jeu au début

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

insérez la description de l'image ici

2. Initialisation des attributs

Ces quatre attributs peuvent être entrés par le joueur lui-même, qui utilise la inputfonction mentionnée précédemment, et grâce à cette fonction, l'initialisation des attributs est terminée.

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

De cette façon, la saisie des attributs est complétée, ce qui n'est pas parfait. Nous avons convenu auparavant que les attributs ne doivent pas dépasser le nombre, et la somme ne doit pas dépasser le nombre. Par conséquent, nous utiliserons les if-elif-elsephrases que nous avons apprises pour juger la somme de ces quatre attributs. .

    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}")

Chaque fois qu'un certain attribut est incohérent, imprimez la raison à l'écran et ressaisissez la valeur de l'attribut. Si cela correspond à l'accord, imprimez les quatre valeurs d'attribut à l'écran.


Lorsqu'une erreur se produit dans un certain jugement, le code termine directement le programme sans laisser le lecteur sortir dans une boucle. C'est parce qu'une boucle est manquante, nous devons donc définir une fonction qui peut initialiser la propriété mais ne répond pas à la accord, et laissez le joueur Possibilité de ressaisir les valeurs d'attribut. Il est temps de l'utiliserwhile循环

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}")

Lorsque tous les jugements sont conformes, la boucle ne peut plus continuer. Pour terminer le programme, cette fois breakest utile. Si le jugement est satisfait, sortez whiledirectement de la boucle.

breakAjoutez-le simplement à la fin du code ci-dessus 注意break的位置要缩进.

insérez la description de l'image ici

2. Définir le sexe

Définir le genre est un sujet intéressant. Le genre doit être aléatoire. Pour définir des nombres aléatoires, une fonction est utilisée random.randint. Cette fonction est un module intégré en python. Vous devez appeler ce module avant de l' import random
utiliser random.randint(1,6)pour générer un entier aléatoire de 1 à 6. .

  1. Si singulier : garçon
  2. Si nombre pair : fille

Les garçons et les filles rencontreront différents événements.

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

insérez la description de l'image ici

3. Définir le point de naissance

Tout d'abord, selon les antécédents familiaux, le point de naissance peut être divisé en 4 parties

  1. 10 est la première partie, avec le meilleur milieu familial et le bonus le plus élevé
  2. 7-9 la deuxième partie, a aussi quelques bonus
  3. 4-6 troisième partie avec moins de bonus
  4. 1-4 La quatrième partie déduira les attributs

Bien sûr, lorsque vous écrivez vous-même, vous pouvez écrire quelques parties supplémentaires pour rendre le jeu plein de plus de possibilités.


Ensuite, générez des nombres aléatoires entre 1 et 3, chaque nombre représente une situation.

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}")

4. Générez automatiquement des expériences de vie pour chaque âge

La vie peut être divisée en quatre seuils selon l'âge

  1. enfance
  2. jeunesse
  3. la fleur de la vie
  4. âgé

Différentes choses se produisent avec chaque troncature, et il peut également y avoir des opportunités.
Par exemple: la troncature de l'enfance, l'intelligence, l'apparence, le physique, etc. vont changer et les événements peuvent se dérouler ici.
Ici, n'écrivez que l'expérience de l'enfance :
parce que c'est chaque année, il peut être utilisé for循环展开pour épisser l'expérience de chaque année avec des chaînes, une boucle jusqu'à la fin et des chaînes de sortie. Pour l'occurrence d'événements, des nombres aléatoires peuvent être utilisés, selon les événements peuvent être générés par des nombres, et des événements peuvent également être déclenchés en fonction du sexe, de l'apparence, du physique, etc. Différents événements ont des effets différents. Si vous tombez malade et mourez, vous pouvez directement sys.exit(0)quitter le programme en l'utilisant time.sleep(1). Il peut mettre le programme en pause pendant un seconde pour faciliter l'observation.

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)

insérez la description de l'image ici

insérez la description de l'image ici

Résumé (avec code)

Ici, je n'écris pas les quatre troncatures, mais un seul stade de la petite enfance. Après avoir lu cet article, je pense que chacun a la capacité de réaliser le contenu de suivi par lui-même et de rendre le jeu plus complet.


Remarque : N'oubliez pas d'appeler import sys
import time lorsque vous utilisez sys.exit et time.sleep

"""
                人生重开模拟器
                花有重开日,人无在少年
"""
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)






Je suppose que tu aimes

Origine blog.csdn.net/weixin_73888239/article/details/128732979
conseillé
Classement