Mes premiers pas ...

Fermé
LoverDoze57 Messages postés 4 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 26 novembre 2022 - Modifié par baladur13 le 18/01/2017 à 20:26
LoverDoze57 Messages postés 4 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 26 novembre 2022 - 18 janv. 2017 à 20:29
Bonsoir à vous, je suis actuellement étudiant et j'essais de m’entraîner bêtement sur Python en créer des jeux basiques (du genre un pendu x)

Voici mon code :
################### LISTE DE MOTS#########################################
from random import choice
liste_mots = [
    "ordinateur",
    "chance",
    "triangle",
    "force",
    "vitesse",
    "transport",
    "kayak",
    "banane",
    "libanaise",
    "carotte",]
liste_mots1 = [
    "abaisse-langue",
    "abat-jour",
    "amuse-gueule",
    "anti-scientifique",
    "arrière-pays",
    "auto-couchettes",
    "auto-accusation",
    "bat-flanc",
    "call-girl",
    "contre-timbre",
    "demi-lune",
    "électropunctures",
    "goutte-à-goutte",
    "homme-grenouille",
    "mal-aimé",]

######################## META-GAMING #######################################
score=0
choix=str(input("Tu préfères facile, moyen ou difficile ? \n"))
if "acile" in choix:
    diff=10
elif "oyen" in choix:
    diff=5
elif "fficile" in choix:
    diff=1
if score==0:
    ch1=choice (liste_mots)
nbt=int(len(ch1)+diff)
ch2=len(ch1)*["*"]
for i in range(len(ch1)):
    if ch1[i]=="-":
        ch2[i]="-"
print(''.join(ch2))
tour=0

####################### EN JEU ##########################################

while ch1 != (''.join(ch2)):
    if nbt==tour:
        print ("Tu as PERDU, le mot était",ch1)
        break
    else:
        car = str(input("Entrer une lettre "))
        if ch1.find(car)>-1:


for i in range(len(ch1)):
                if ch1[i]==car:
                    ch2[i]=(ch2[i].replace("*",car))
                    print(''.join(ch2))
            print("Il te reste toujours", nbt-tour ," tour(s)\n")

else:
            nbt=nbt-1
            print("Dommage il ne te reste plus que ",nbt,"tour(s)\n")




if ch1==(''.join(ch2)):
            print("\nU WIN")
            score=score+1
            tour=0
            continue


###################################################################
en regardant sur des forums je suis tombé sur ça :
continuer=True
while continuer:
    choix=input("Voulez vous continuer ?")
    if choix not in ('o','oui','ok'):
        continuer=False



mon but est simple, j'aimerais créer différent niveaux de difficulté sur mon pendu en insérant un système de score auquel plus il est haut, plus la liste des mots (random list) sera des mots compliqués ( un mot trouvé = +1 , un mot non trouvé = -1)
Mon problème intervient au moment où le joueur réussi , je ne trouve pas comment tout simplement relancer le jeu et insérer du coup un point dans le score.
J'ai aussi lu que je devais insérer tout mon programme dans un boucle While pour qu'a la fin je rajoute une commande dont je me souviens plus le nom =/ Hélas.

Si vous avez des idées,ou même des réponses :) je suis preneur

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

LoverDoze57 Messages postés 4 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 26 novembre 2022
Modifié par LoverDoze57 le 18/01/2017 à 20:30
Je viens d'essayer ceci, mais bon ...
while:
    while ch1 != (''.join(ch2)):
        if nbt==tour:
            print ("Tu as PERDU, le mot était",ch1)
            break
        else:
            car = str(input("Entrer une lettre "))
            if ch1.find(car)>-1:
                for i in range(len(ch1)):
                    if ch1[i]==car:
                        ch2[i]=(ch2[i].replace("*",car))
                        print(''.join(ch2))
                print("Il te reste toujours", nbt-tour ," tour(s)\n")
            else:
                nbt=nbt-1
                print("Dommage il ne te reste plus que ",nbt,"tour(s)\n")
                if ch1==(''.join(ch2)):
                    print("\nU WIN")
                    score=score+1
                    tour=0
                    break

continuer = input(u"Voulez-vous continuer avec un autre mot ? (O/N): ")
    if continuer not in ('O','o','oui','OUI','ok'):
        boucle = False

## Pause ##
input("\nAppuyez sur une touche pour terminer...")
0