1 2 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 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
| # -*- coding: cp1252 -*-
class Question:
"""Classe définissant une liste de question:
-son énoncé
-sa réponse 1
-sa réponse 2
-sa réponse 3
-sa réponse juste"""
def __init__(self, enonce="", rep1="", rep2="", rep3="", repjuste=""): # Définition des objetss de la classe
self.enonce = enonce
self.rep1 = rep1
self.rep2= rep2
self.rep3 = rep3
self.repjuste = repjuste
n=1 #compteur du nombre de question
# -*- coding: cp1252 -*-
from Tkinter import* # On importe Tkinter, on utilisera l'iinerface pour faciliter l'enregistrement de question dans un dictionnaire.
Fen1=Tk() #Création de la fênetre, des entrées, etc
Fen1.title(u"Création question")
Af1=Label(Fen1, text= u"Ecrire une question.")
Af2=Label(Fen1, text="Ecrire la réponse 1.")
Af3=Label(Fen1, text="Ecrire la réponse 2.")
Af4=Label(Fen1, text="Ecrire la réponse 3.")
Af5=Label(Fen1, text="Ecrire la réponse juste.")
Af6=Label(Fen1, text="")
Ent1=Entry(Fen1)
Ent2=Entry(Fen1)
Ent3=Entry(Fen1)
Ent4=Entry(Fen1)
Ent5=Entry(Fen1)
Q1=Question () # Pour faciliter l'écriture on renomme la classe
def ma_commande1(): # On crée une commande qui à pour but de vérifier si toutes les entrées possèdent un texte.
enonce=Ent1.get() # On renomme les textes entrés pur faciliter l'utilisation de ceux-ci et meiux les reconnaitre.
rep1=Ent2.get()
rep2=Ent3.get()
rep3=Ent4.get()
repjuste=Ent5.get()
if enonce=="" or rep1=="" or rep2=="" or rep3=="" or repjuste=="": # On intègre une condition permettant de vérifier si les entrées sont vides.
Bout2.pack_forget () # Ainsi le bouton disparaitra.
Af6.configure(text= u"Vous n'avez pas rempli toutes les cases") # On précise le problème à l'utilisateur.
else:
Bout2.pack () # Si les entrées possédent un texte le bouton apparaitra.
Af6.configure(text= u"")
questions = [] #on crée une liste
def ma_commande2():
q=Question(Ent1.get(), Ent2.get(), Ent3.get(), Ent4.get(), Ent5.get()
questions.append(q)
Ent1.delete(0,END)
Ent2.delete(0,END)
Ent3.delete(0,END)
Ent4.delete(0,END)
Ent5.delete(0,END)
q=questions[k]
Af1.configure(text= u"Ecrire une question "+ str(n)+'.') # On met à jour le numéro de la question, de l'énoncé ....
Af2.configure(text= u"Ecrire la réponse 1, de la question "+ str(n)+'.')
Af3.configure(text= u"Ecrire la réponse 2, de la question "+ str(n)+'.')
Af4.configure(text= u"Ecrire la réponse 3, de la question "+ str(n)+'.')
Af5.configure(text= u"Ecrire la réponse juste, de la question "+ str(n)+'.')
Bout2.pack_forget () # On fait dispaaitre le bouton pour que l'utilsateur ne puisse l'utiliser.
Bout1=Button(Fen1,text=u"Vérifie",command=ma_commande1) # Création des boutons
Bout2=Button(Fen1,text=u"Enregistre les questions ici !",command=ma_commande2)
Af1.pack() # Affichage
Ent1.pack()
Af2.pack()
Ent2.pack()
Af3.pack()
Ent3.pack()
Af4.pack()
Ent4.pack()
Af5.pack()
Ent5.pack()
Af6.pack()
Bout1.pack()
Bout2.pack_forget()
Fen1.mainloop()
# -*- coding: cp1252 -*-
from Tkinter import*
Fen1=Tk()
Fen1.title(u"Projet Final" )
Af1=Label(Fen1, text= u"Bonjour, vous allez maintenant pouvoir commencer le jeu de Manon et Zoémie. Etes-vous prêt ?" ) #Présentation
Af2=Label(Fen1, text="" ) #Enoncé
Af3=Label(Fen1, text="" ) #Rép1
Af4=Label(Fen1, text="" ) #Rép2
Af5=Label(Fen1, text="" ) #Rép3
Af6=Label(Fen1, text="Quelle est votre réponse ?" )
Af7=Label(Fen1, text="" ) # On l'utilisisera pour dire bonne ou mauvaise réponse.
Ent1=Entry(Fen1) #Le joueur y rentrera sa réponse
n=0 #Compteur du nombre de click sur le bout1
k=1 #Compteur des questions
def ma_commande1():
global n
global k
n=n+1 # Le compteur de click augmentera à chaque click, ou à chaque fois que la commande est éxecutée !
if n==1: # APrès le premier click :
Af1.configure ( text=u"Veuillez répondre en entrant la lettre correspondant à votre choix." )
Bout1.configure(text=u"Ok" )
elif n==2: # Après le deuxième click le jeu commence.
Af1.pack_forget() #L'affichage 1 ne sera plus utile.
Af2.pack() # On affiche l'énoncé des questions.
Af3.pack()
Af4.pack()
Af5.pack()
Af6.pack()
Ent1.pack() # On affiche l'endroit où le joueur rentrera sa réponse
Bout1.configure(text=u"Valider ma réponse." ) # Le bouton 1 vérifiera dorénavant la justesse de la réponse
Af2.configure ( text=u"Question"+str(k)+
str(k))
Af3.configure ( text=u"Réponse A :"+
str(k))
Af4.configure ( text=u"Réponse B :"+
str(k))
Af5.configure ( text=u"Réponse C :"+
str(k))
else: # A chaque fois que le joueur clickera sur le bouton 1, la réponse du joueur sera vérifiée.
repjoueur=Ent1.get() #On enregistre la réponse sous un autre nom qui nous permettra de meux la reconnaitre.
repjoueur= repjoueur.upper() # Ce que rentre le joueur est mis en majuscule.
if repjoueur==str(k):
Af7.pack()
Af7.configure(text=u"Bonne réponse ! vous pouvez passer la question suivante" )
Bout2.pack() # LE bouton permettant de passer à la question suivante apparait.
else :
Af7.pack()
Af7.configure(text=u"Mauvaise réponse ! Vous avez répondu "+repjoueur+u" alors que la bonne réponse était la "+str(k))
Bout2.pack()
def ma_commande2 (): # Commande pour paser à la question suivante.
global k
k=k+1 #On augmente le compteur de question.
Ent1.delete(0,END)
Af2.configure ( text=u"Question %s: %s" % (k, q.ennonce)# On affiche la question suivante.str(k))
Af3.configure ( text=u"Réponse A : %s" % q.rep1)
Af4.configure ( text=u"Réponse B : %s" % q.rep2)
Af5.configure ( text=u"Réponse C : %s" % q.rep3)
Bout2.pack_forget() #Le bouton disparait.
Bout1=Button(Fen1,text=u"Oui",command=ma_commande1)
Bout2=Button(Fen1,text=u"Question Suivante",command=ma_commande2)
Af1.pack()
Af2.pack_forget()
Af3.pack_forget()
Af4.pack_forget()
Af5.pack_forget()
Af6.pack_forget()
Ent1.pack_forget()
Bout1.pack()
Af7.pack_forget()
Bout2.pack_forget()
Fen1.mainloop() |
Partager