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
|
from tkinter import *
import random
from tkinter.messagebox import *
############################ Les variables #####################################
S=0
questions=["CH4?", "NH3?", "H2O?"] #Liste de questions
choix=[["CH4","NH3","H2O"],["CH4","NH3","H2O"],["CH4","NH3","H2O"]]#Liste de reponses (Une fois le programme fonctionnel, remplacer par des images).
reponses=[1,2,3] #Liste de bonnes reponses tapees dans l'Entry
############################ Les fonctions #####################################
def easy():
if questions!=[]:
n=random.randint(0,len(questions)-1)#n choisit au hasard qui figure dans les 3 listes
affich_question(n)#Fonction permettant d'afficher la question et les choix de reponses
else:
showinfo("Fin du jeu","Votre score est")
fen.destroy()
def affich_question(pi) :
Q=questions[pi]#Affiche la question n
fr2=Frame(fen,bd=2, relief=SOLID, bg = "sky blue")
l1=Label(fr2, bd=2, text = "Question :", relief=SOLID, bg = "red")
l2=Label(fr2, bd=2, text = str(Q), relief=SOLID, bg = "red")
l3=Label(fr2, bd=2,text = "Indiquez le numero de votre reponse", relief=GROOVE, bg = "bisque")
l3.grid(row=3, column=0)
R= StringVar()
en=Entry(fr2, textvariable = R, bg ='bisque', fg='maroon')
en.focus_set()
en.grid(row=3, column=1)
M=R.get
b4=Button(fr2, bd=2, text="Valider", width=15, command=lambda:reponse(pi,M))
b4.grid(row=4, column=1)
l2.grid(row=1, column=1)
l1.grid(row=1, column=0)
fr2.grid(row=3, column=1)
affich_reponse(pi)
def affich_reponse(o):
adresse="H:\Spe\Projet ISN pour le bac\Programmation python\i"+str(choix[o][0])+".ppm"
img = PhotoImage(file=adresse)
can.create_image(100, 150, image=img)
adresse1="H:\Spe\Projet ISN pour le bac\Programmation python\i"+str(choix[o][1])+".ppm"
img1 = PhotoImage(file=adresse1) #Affiche les 3 choix possibles dans le canevas
can.create_image(250, 150, image=img1)
adresse2="H:\Spe\Projet ISN pour le bac\Programmation python\i"+str(choix[o][2])+".ppm"
img2 = PhotoImage(file=adresse2)
can.create_image(400, 150, image=img2)
can.create_text(100, 250, font='ComicSansMS 16', text='-1-')
can.create_text(250, 250, font='ComicSansMS 16', text='-2-')
can.create_text(400, 250, font='ComicSansMS 16', text='-3-')
def reponse(num,a):
if a == reponses[num]:
showinfo("Resultat","Reponse juste")
m=m+1
else :
showwarning("Resultat","Reponse fausse")
questions.pop(num)
choix.pop(num)
reponses.pop(num)
easy()
########################## Fenetre Tkinter #####################################
fen=Tk()
fen.title('Molecule Project')
fen.configure(background="blue")
fr1 = Frame(fen,bd =2, relief=GROOVE, bg = "sky blue")
b1 = Button(fr1,text="Mode Facile",font="Algerian 16",width =15, command=easy)
b1.grid(row=0, column=1)
b2 = Button(fr1,text="Mode Normal", font="Algerian 16",width =15, command="")
b2.grid(row=0, column=2)
b3 = Button(fr1,text="Mode Difficile", font="Algerian 16",width =15, command="")
b3.grid(row=0, column=3)
fr1.grid(row=0, column=1)
can = Canvas(fen, bg="cyan", width=500, height=400, bd=2, relief=SOLID)
can.grid(row=3, column=4)
fr3 = Frame(fen, bd=2, relief=SOLID, bg = "white")
score = Label(fr3, text="Score = "+str(S), width=10, font="TimesNewRoman 14")
score.grid(row=3, column=4)
fr3.grid(row=4, column=4)
b5 = Button(fen,bd =2, text="Quitter", font="Algerian 16",width =15, command = fen.destroy)
b5.grid(row=4, column=5)
fen.mainloop() |