| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 
 | from tkinter import Tk, Label, Button, Radiobutton, StringVar # On importe certaines fonctions depuis Tkinter
from time import time #On importe "l'heure"
import random #On importe la fonction aléatoire
 
 
tentatives=15 #On initialise le max de tentatives
 
prix = random.randint(1, 500) # On dit entre quel nombre on veut que ça prenne
 
score = 0 #On initalise le score
 
tentatives=0 # On initialise les tentatives
 
 
 
#****************************
#****Codage des fonctions****
#****************************
 
 
 
 
#Fonction partie
 
def partie():
    debut = time()  #Initialise l'heure de début
    tentatives=0 #Met le nombre d'essais à 0
    score =0 #Initialise le score
    print("Devinez le juste prix ! Le prix est un nombre entre 1 et 500 inclus. Les informations seront de la console python.Appuyez sur entrer pour confirmer ")#Affiche un message dans la fenetre Python input
    try: #Si la reponse donnée fait partie du type de réponse attendue
        while True:  #Si la valeur saisie est corecte
            nombre = int(input()) #Définir le nombre
            tentatives += 1 #On ajoute une tentative à chaque fois que l'on passe dans la boucle
            if nombre < prix: #Si trop bas
                print("Le juste prix est plus haut")
            if nombre > prix: #Si trop haut
                print("Le juste prix est plus bas")
            if nombre == prix: #Si t'as bon
                score = score + 1 #On ajoute 1 à la variable score
                print(f"Félicitations, vous avez trouvé le juste prix {prix} , en {tentatives} essais , votre score est de {score} , vous avez mis {temps} secondes !")
                break #On coupe le programme
            if tentatives == 15:#Si on a fait 15 tentatives
                print (f"Perdu le juste prix était {prix} ! Votre score est de {score} , vous avez mis {temps} secondes .")
                break # On coupe le programme
            temps = time()- debut #On soustrait l'heure de départ à l'heure qu'il est
            if temps > 20: #Si c'est suprérieur à 20 secondes on coupe le programme
                print (f"Trop long , le juste prix était {prix} ! Votre score est de {score}.")
                break #On le coupe
 
 
 
        print("Partie terminée")
    except: #Si la reponse donnée ne fait pas partie du type de reponse attendue
        continuer()#Appel la fonction continuer
 
#La fonction pour continuer
 
def continuer():
    reponse = input ("Voulez-vous continuer ?") #Pose une question input pour demander si la personne veut continuer ou pas
    if reponse == 'oui' : #Si la perssonne répond oui alors...
        partie()#Appel de la fonction partie
    else: # Si la personne répond autre chose que oui alors...
        confirmations()#Appel de la fonction confirmation
 
 
#La fonction qui nous sert à confirmer notre choix
 
 
def confirmations():
 
    reponse = input ('Êtes vous sûr de vouloir quitter le programme ? Répondez par oui ou non. Si vous repondez autre chose le programme se fermera.')#Pose une question input pour demander si la personne est certaine de son choix ou pas
 
    if reponse == 'oui' :#Si la perssonne répond oui alors...
        quitter()#Appel de la fonction quitter
    if reponse == 'non':#Si la perssonne répond non alors...
        partie()#Appel de la fonction partie
 
 
 
 
 
 
 
#Fonction quitter
 
 
def quitter():
    print()
    print("************************************************")
    print("********* FIN du programme. A Bientôt **********")
    print("************************************************")
    print()
 
 
 
 
#Fonction pour le bouton jouer
 
def jouer():
    fen.destroy()#Ferme la fenetre tkinter
    partie()#Fait appel à ma fonction partie
 
 
 
# ****************************************
# *********** Partie Graphique ***********
# ****************************************
fen = Tk()                            #initialisation d'une  fenêtre graphique
 
# Titre
intro = Label(fen, text='Juste prix') #Genere le nom affiché sur la fenetre
intro.config(font = "Impact 50", fg="Orange", bg="Black") #Genere la taille et la couleur du texte affiché
intro.pack(pady=20)#Initialise l'espace entre la phrase et le hot de la page
 
# Bouton joue
bouton = Button(fen, text= "JOUER", padx= 10,pady=10, font = "Arial 20", bg="Orange", fg="Black", command= jouer)#Genere la taille, la couleur et la fonction du texte affiché dans le bouton
bouton.pack(pady=20)#Genere l'espacement entre le bouton et le texte du haut
 
 
# Bouton quitter
bouton_quitter = Button(fen, text="QUITTER", font = "Arial 20", bg="Orange", fg="Black", command=fen.destroy)#Genere la taille, la couleur et la fonction du texte affiché dans le bouton
bouton_quitter.pack(pady=20)#Genere l'espacement entre le bouton actuelle et le bouton d'en haut
 
#texte representatif
 
info = Label (fen, text='Dans ce jeu vous allez devoir trouver un nombre entre 1 et 500 compris. Vous allez disposer de 20 secondes ') #Genere le nom affiché sur la fenetre
info.config(font= "Arial 20", fg ="Orange", bg="Black")
info.pack(pady=30)
info = Label (fen, text='  et 15 tentatives si vous échouez votre score sera de 0 mais si vous  réussissez votre score sera de 1.') #Genere le nom affiché sur la fenetre
info.config(font= "Arial 20", fg ="Orange", bg="Black")
info.pack(pady=30)
info = Label (fen, text='Toutes les informations seront données dans la console python. Bonne chance à vous !  ') #Genere le nom affiché sur la fenetre
info.config(font= "Arial 20", fg ="Orange", bg="Black")
info.pack(pady=30)
 
 
# Configuration générale de la fenêtre
fen.config(bg = "Black")             # Couleur du fond de la fenêtre
fen.title("Programme")                # Titre de la fenêtre
fen.geometry("1920x1080")               # Taille de la fenêtre
fen.mainloop()                       # Création de la d'affichage | 
Partager