Probleme de boucle python (jeux pendu)
Fermé
illana
-
Modifié le 31 mars 2022 à 01:02
jee pee Messages postés 40500 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 29 novembre 2024 - 2 avril 2022 à 20:14
jee pee Messages postés 40500 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 29 novembre 2024 - 2 avril 2022 à 20:14
A voir également:
- Probleme de boucle python (jeux pendu)
- Jeux java itel football - Télécharger - Jeux vidéo
- Jeux du pendu - Télécharger - Vie quotidienne
- Zuma jeux - Télécharger - Jeux vidéo
- Waptrick jeux pes 2014 - Forum logiciel systeme
3 réponses
jee pee
Messages postés
40500
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
29 novembre 2024
9 437
Modifié le 31 mars 2022 à 01:35
Modifié le 31 mars 2022 à 01:35
Bonjour,
D'abord voir pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
Ce qui empèche ton code de tourner correctement c'est que motordi est une chaine "chat" et que motADeviner est un tableau de caractère ['c','h','a','t'], tu ne peux donc pas les comparer, il faut transformer motordi.
En 46 il faudrait remplacer if lettrejoueur == motordi: par if motADeviner == list(motordi):
Après regarde la gestion de Continuer et Trouve et leur emplacement, puis Trouve doit démarrer à False et quand le mot est trouvé passer à True, enfin observe comment controler les 2 saisies en entrée par rapport aux réponses attendues avec le while. Ce code n'est pas parfait, mais il fonctionne mieux :
D'abord voir pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature (html, Php, C, Python, Shell, ...). Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ce qui empèche ton code de tourner correctement c'est que motordi est une chaine "chat" et que motADeviner est un tableau de caractère ['c','h','a','t'], tu ne peux donc pas les comparer, il faut transformer motordi.
En 46 il faudrait remplacer if lettrejoueur == motordi: par if motADeviner == list(motordi):
Après regarde la gestion de Continuer et Trouve et leur emplacement, puis Trouve doit démarrer à False et quand le mot est trouvé passer à True, enfin observe comment controler les 2 saisies en entrée par rapport aux réponses attendues avec le while. Ce code n'est pas parfait, mais il fonctionne mieux :
# -*- coding: utf-8 -*- import random continuer = True while continuer: print("quelles listes voulez-vous? facile, normal ou difficile?") entree = None while entree not in ('facile', 'normal', 'difficile'): entree = input('> ') # creerliste de mots listemot = ['bonjour', 'soleil', 'beurre', 'ordinateur', 'chocolat', 'animaux', 'batiment'] listemotfacile = ['chat', 'chien', 'coq', 'tasse', 'pendu', 'fleur'] listemotdifficile = ['teledetection', 'stratification', 'dictionnaire', 'radiateur'] # print (listemot) # choix au hazard if entree == 'facile': motordi = random.choice(listemotfacile) if entree == 'normal': motordi = random.choice(listemot) if entree == 'difficile': motordi = random.choice(listemotdifficile) motADeviner = [] for i in range(len(motordi)): motADeviner.append("_") print(motADeviner) lettreSaisie = [] # essai nberreur = 0 trouve= False while nberreur < 6 and trouve != True : lettrejoueur = input("choisir une lettre ") for l in range(len(motordi)) : if len(lettrejoueur) > 1: if lettrejoueur == motordi : print("felicitation,vous avez gagné") trouve = True break if lettrejoueur == motordi[l]: motADeviner[l] = lettrejoueur print(motADeviner) if motADeviner == list(motordi) : print("felicitation,vous avez gagné") trouve = True break print("Félicitation !! Vous y êtes presque") if lettrejoueur not in motordi: nberreur = nberreur + 1 print("Attention!! Vous venez d'utiliser", nberreur, "des 6 tentatives") if nberreur == 6: print("Vous avez perdu :( ") lettreSaisie.append(lettrejoueur) print(lettreSaisie) print("Voulez-vous continuer ? oui ou non") entree = None while entree not in ('oui', 'non'): entree = input('> ') if entree == 'non': continuer = False print("fin du jeu")
bonjour,
Merci beaucoup !!
autre petite question : savez vous comment proposer un indices contre une vie en moins ?
merci pour votre aide ^^
Merci beaucoup !!
autre petite question : savez vous comment proposer un indices contre une vie en moins ?
merci pour votre aide ^^
mamiemando
Messages postés
33407
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
29 novembre 2024
7 806
1 avril 2022 à 19:44
1 avril 2022 à 19:44
Il faudrait définir plus précisément ce que tu appelles un indice et sous quelles conditions le joueur peut en demander un.
Ah oui désolée :(
par exemple si le joueur ne trouve pas le mot à trouver, il peut écrire "indice"
du coup une lettres s'afficheras dans le mot à trouver. ( et en contre partie il perd une vie)
merci de votre réponse^^
par exemple si le joueur ne trouve pas le mot à trouver, il peut écrire "indice"
du coup une lettres s'afficheras dans le mot à trouver. ( et en contre partie il perd une vie)
merci de votre réponse^^
jee pee
Messages postés
40500
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
29 novembre 2024
9 437
Modifié le 2 avril 2022 à 20:14
Modifié le 2 avril 2022 à 20:14
il semble facile de rajouter après la ligne 32 un bloc
si lettrejoueur = "indice", boucle sur motordi pour trouver un "_", affectation de la lettre depuis motordi, affichage, incrémentation de nberreur
si lettrejoueur = "indice", boucle sur motordi pour trouver un "_", affectation de la lettre depuis motordi, affichage, incrémentation de nberreur