Challenges#
L'histoire dont vous êtes le héros#
Connaissez-vous ces livres dans lesquels vous pouvez prendre des décisions et sauter à différentes page en fonction de vos choix ? Avec Python, vous pouvez facilement reproduire ce genre de jeu d'aventure !
# Mini Aventure - 100% if/elif/else
# Objectif: récupérer la relique et sortir vivant.
print("=== Mini Aventure : Grotte-Brise ===")
print("Tu es devant une grotte froide, au bord d'une falaise. Tu veux y entrer\npour récupérer une relique ancienne.")
print("Deux options: entrer directement (e) ou faire le tour (t).")
torche = False
cle = False
relique = False
fin = "perdu"
choix1 = input("> ").strip().lower()
if choix1 == "e":
print("\nTu entres sans lumière. C'est le noir complet.")
print("Tu avances à tâtons et glisses dans un trou caché...")
print("Fin. (Tu aurais dû chercher une source de lumière)")
elif choix1 == "t":
print("\nTu fais le tour. Derrière un rocher, tu trouves une TORCHE.")
print("Tu l'allumes. Une lumière chaude t'éclaire.")
torche = True
print("\nTu entres dans la grotte éclairée. Un couloir mène à une PORTE massive.")
print("Tenter de forcer (f) ou chercher un passage caché (c) ?")
choix2 = input("> ").strip().lower()
if choix2 == "f":
print("\nTu forces de toutes tes forces. CRAC ! Un éboulement se déclenche.")
print("Des pierres te bloquent le bras. Tu es coincé...")
print("Fin.")
elif choix2 == "c":
print("\nÀ la lueur de ta torche, tu inspectes les murs.")
print("Tu repères une fissure discrète. À l'intérieur: une CLÉ rouillée !")
cle = True
print("\nTu reviens à la PORTE. Utiliser la clé (o) ou abandonner (a) ?")
choix3 = input("> ").strip().lower()
if choix3 == "o":
print("\nLa clé grince dans la serrure... CLIC ! La porte s'ouvre.")
print("Dans la salle: un piédestal de pierre ancien.")
print("Dessus, une RELIQUE bleutée pulse faiblement.")
print("La prendre (p) ou inspecter la salle d'abord (i) ?")
choix4 = input("> ").strip().lower()
if choix4 == "p":
print("\nTu saisis la relique. Elle est tiède au toucher.")
print("Le sol vibre légèrement, mais la salle reste stable.")
relique = True
print("\nSortir immédiatement (s) ou fouiller la salle (f) ?")
choix5 = input("> ").strip().lower()
if choix5 == "s":
print("\nTu fais demi-tour, torche en main, relique sous le bras.")
print("Tu sors dans la brise marine. La relique pulse dans ta main.")
print("\n*** VICTOIRE ! Tu as récupéré la relique ! ***")
fin = "gagné"
elif choix5 == "f":
print("\nTon pied enfonce une dalle piégée.")
print("Des dards empoisonnés jaillissent des murs !")
print("Fin. (L'avidité te perd)")
else:
print("\nTu hésites trop longtemps. Un grondement résonne.")
print("Le plafond commence à s'effondrer... Fin.")
elif choix4 == "i":
print("\nTu inspectes prudemment les murs. Tu repères un symbole étrange...")
print("En t'approchant, tu déclenches un mécanisme ancien.")
print("Un gaz verdâtre envahit la salle. Fin.")
else:
print("\nTu perds de précieuses secondes à hésiter.")
print("La salle tremble et s'effondre sur toi. Fin.")
elif choix3 == "a":
print("\nTu renonces à ta quête et ressors bredouille.")
print("Parfois, la prudence n'est que de la lâcheté. Fin.")
else:
print("\nTu tergiverses devant la porte...")
print("Un grondement sourd te fait fuir en panique. Fin.")
else:
print("\nTu hésites trop longtemps dans le couloir.")
print("Un courant d'air éteint soudainement ta torche.")
print("Dans le noir complet, tu te perds... Fin.")
else:
print("\nTu restes planté là, indécis.")
print("La marée monte lentement et t'isole sur la falaise.")
print("Fin. (Il fallait agir)")
# Résumé de la partie
print("\n" + "="*40)
print("=== RÉSUMÉ DE TA QUÊTE ===")
print("="*40)
print(f"🔥 Torche obtenue : {'OUI' if torche else 'NON'}")
print(f"🔑 Clé obtenue : {'OUI' if cle else 'NON'}")
print(f"💎 Relique obtenue : {'OUI' if relique else 'NON'}")
print("="*40)
if fin == "gagné":
print("ISSUE : VICTOIRE")
print("Tu es un véritable aventurier !")
else:
print("ISSUE : DÉFAITE 💀")
print("Réessaie pour découvrir le bon chemin...")
print("="*40)
#Lancez cette cellule pour tester un mini-jeu d'aventure
clef_bleue = False
clef_rouge = False
sortie = False
acces_salle_rouge = False
acces_salle_bleue = False
coffret_ouvert = False
print("Vous vous réveillez au milieu d'une pièce. Vous êtes couché sur un tapis,\net vous voyez un petit coffret, ainsi 2 portes, une bleue et une rouge.\nEn vous relevant, vous sentez également que vous avez quelque chose dans votre poche.")
while sortie == False:
if acces_salle_rouge == False:
txt_rouge = "- Aller vers la porte [rouge]"
else:
txt_rouge = "- Entrer dans la salle [rouge]"
if acces_salle_bleue == False:
txt_bleu = "- Aller vers la porte [bleue]"
else:
txt_bleu = "- Entrer dans la salle [bleue]"
choix = input("Que voulez-vous faire ?\n " + txt_rouge+ "\n " + txt_bleu + "\n - Regarder dans votre [poche]\n - Examinez le [coffret]\n - Regarder sous le [tapis]\n")
if choix == "rouge":
if acces_salle_rouge == False:
if clef_rouge == False and clef_bleue == False:
print("Vous essayez d'ouvrir la porte rouge. Malheureusement, elle est fermée à clef. Peut-être que vous pourriez l'ouvrir avec une clé.")
elif clef_rouge == False and clef_bleue == True:
print("La porte rouge est fermée à clef. Vous essayez d'insérer la clé bleue dans la serrure, mais elle ne rentre pas.")
elif clef_rouge == True:
print("Vous insérez la clé carrée dans la serrure et parvenez à accéder à une nouvelle pièce, la pièce rouge.")
acces_salle_rouge = True
else:
print("Vous entrez dans la salle rouge. Une carte du monde est accrochée au mur.\nCette carte est en noir et blanc, si ce n'est la Slovaquie, l'Equateur, et le Kenya\nqui sont en couleur. Comme il n'y a rien d'autre, vous ressortez de la salle rouge.")
elif choix == "bleue":
if acces_salle_bleue == False:
if clef_bleue == False and clef_rouge == False:
print("Vous essayez d'ouvrir la porte bleue. Malheureusement, elle est fermée à clef. Peut-être que vous pourriez l'ouvrir avec une clé.")
elif clef_bleue == False and clef_rouge == True:
print("La porte bleue est fermée à clef. Vous essayez d'insérer la clé rouge dans la serrure, mais elle ne rentre pas.")
elif clef_bleue == True:
print("Vous insérez la clé carrée dans la serrure et parvenez à accéder à une nouvelle pièce, la pièce bleue.")
acces_salle_bleue = True
else:
print("Vous entrez dans la salle bleue. Vous y apercevez une porte avec une petite vitre qui donne sur l'extérieur. C'est votre porte de sortie!")
choix_bleu = ""
while choix_bleu != "bleue":
choix_bleu = input("Que faire ?\n - Insepecter la porte de [sortie]\n - Inspecter la [salle]\n - Sortir de la salle [bleue]\n")
if choix_bleu == "sortie":
code = input("La porte est verrouillée avec un code à 3 lettres. Quel est ce code ?")
if code == "KSE":
sortie = True
print("La porte s'ouvre !")
choix_bleu = "bleue"
else:
print("Le code est incorrect")
elif choix_bleu == "salle":
print("Sur le mur est écrit 'Afrique Europe Amérique")
else:
print("Choix inconnu")
elif choix == "poche":
if clef_rouge == False:
print("Vous trouvez une clef rouge dans votre poche")
clef_rouge = True
else:
print("Il n'y a plus rien dans votre poche")
elif choix == "coffret":
if coffret_ouvert == False:
code_coffret = input("Le coffret est fermé par un cadenas à 4 chiffres. Entrez le code pour l'ouvrir : ")
if code_coffret == "1489":
print("Vous avez ouvert le coffret. À l'intérieur, vous trouvez une clef bleue.")
clef_bleue = True
else:
print("Mauvais code. Le coffret reste fermé.")
else:
print("Le coffret est déjà ouvert, il est vide.")
elif choix == "tapis":
print('Sous le tapis, vous trouvez une note sur laquelle sont écrits les chiffres 4819 ainsi que le texte "Du plus petit au plus grand"')
else:
print("Choix invalide. Essayez autre chose.")
print("Bravo vous êtes sorti.e de la pièce ! Vous avez gagné :)")
#Lancez cette cellule pour tester un mini escape game
A votre tour de créer votre propre jeu dans la cellule ci-dessous !
#Ecrivez le code de votre jeu ici
Le jeu du Devin#
Créez un petit jeu dans lequel l'utilisateur doit deviner un nombre entre 1 et 100 que l'ordinateur a choisi au hasard. Les lignes de code déjà données permettent justement de créer une variable nombre_mystere avec une valeur aléatoire.
Le jeu doit remplir les critères suivants :
Le jeu ne doit pas s'arrêter tant que l'utilisateur n'a pas trouvé le bon nombre.
A chaque essai, le programme doit dire à l'utilisateur si son essai est trop grand ou trop petit.
A la fin du jeu, il faut afficher le nombre d'essais de l'utilisateur pour trouver le bon nombre.
from random import randint
nombre_mystere = randint(1, 100)
#Continuez le challenge ici