| 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
 
 | #Définitions deas variables du Sphinx
GAGNE = "Bravo"
PERDU = "Perdu."
N = 4
 
# traitement de l'Entry
def getResult() :
 
    value = ent.get()
    #Si la réponse donnée n'est pas une valeure numérale
    if not value or not value.isdigit():
        raise ValueError ("Vous devez répondre par un chiffre!")
 
    n = int(value)
 
    ent.delete (0, END)
 
    if n== 4:
        labRes ['text'] = GAGNE
    else:
        labRes ['text'] = PERDU
        chantier = Tk()
        excuses = Label (chantier, text = """Jeu en cours de création, pour continuer
l'aventure, recommencer le jeu et répondre 4 à l'épreuve du bac""")
        excuses.pack()
 
####Début du programme####
 
mafenetre=Tk()
mafenetre.title("JEU")
lab = Label (text = "CLiquez pour commencer")
lab.pack()
monbouton= Button(mafenetre,text="quitter",command = mafenetre.quit)
monbouton.pack()
 
canevas = Canvas(mafenetre,width=1150,height=997,background="white")
canevas.pack()
 
perso = PhotoImage(file = "perso avant le bac.gif")
balle = canevas.create_image(348,648, image = perso)
 
#Classe: toplevel 
class Window(Toplevel):
    def __init__(self, master=None):
        Toplevel.__init__(self, master)
        lab = Label(self, text="""Qui a quatre pattes le matin, deux à midi et trois le soir...Quelle énigme est-ce?
1-l'épitaphe de diophante
2_le paradoxe du doublement de jules henri poincarré
3_l'énigme de webber
4_l'énigme du sphinx
""", font = "arial 15")
        lab.pack()
        ent = Entry(self)
        ent.pack()
        ButValider= Button(self,text="valider",command=getResult)
        ButValider.pack()
        button = Button(self, text="fermer", command=self.fermer)
        button.pack()
 
 
#Entrée dans le bâtiment
x,y = 348, 648
dx,dy = -1,0  
def move():
    global x,y,dx,dy
    x,y = x+dx, y+dy
    if (x < 200) : 
        dx,dy = 0,0
        w = Window()
        def fermer(self):
            self.destroy()
 
    canevas.coords(balle,x,y)
    mafenetre.after(25,move)
 
 
def pointeur (event):
    x,y = event.x, event.y
    move()
    lab.destroy()
canevas.bind("<Button-1>", pointeur) | 
Partager