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
| import tkinter as tk
from random import choice
def colorer(delai, couleur=None) :
global sequence
if not couleur :
couleur = choice(tuple(boutons.keys()))
sequence.append(couleur)
bouton = boutons[couleur]
bg, disfg = bouton['bg'], bouton['disabledforeground']
bouton.after(delai, bouton.configure,
{'bg': bouton['activebackground'],
'disabledforeground': bouton['activeforeground']
})
bouton.after(delai + delaiColoriage, bouton.configure,
{'bg': bg,
'disabledforeground': disfg
})
def jouerSequence(nombreSequence, delai) :
for n in range(nombreSequence) :
colorer(delai)
delai += delaiSequence
return delai
def jouer() :
delai = 0
boutonJouer.configure(state=tk.DISABLED)
global sequence, nombreSequence
if not sequence :
delai = jouerSequence(nombreSequence, delai)
print(sequence)
else :
boutonJouer.configure(state=tk.DISABLED)
for couleur in sequence :
delai += delaiSequence
colorer(delai, couleur)
delai += delaiSequence
delai = jouerSequence(1, delai)
print(sequence)
nombreSequence += 1
boutonJouer.after(delai, boutonJouer.configure, {'state':tk.NORMAL})
sequence = []
nombreSequence = 3
delaiSequence = 1000
delaiColoriage = 500
optionsBoutonCouleur = dict(width=30, bg='grey', highlightthickness=1, bd=3,
height=3, disabledforeground='lightGrey',
activeforeground='black', state=tk.DISABLED)
root = tk.Tk()
boutonRouge = tk.Button(root, optionsBoutonCouleur, text='ROUGE', fg='red',
activebackground='red')
boutonRouge.grid(row=1, column=1)
boutonBleu = tk.Button(root, optionsBoutonCouleur, text='BLEU', fg='blue',
activebackground='blue')
boutonBleu.grid(row=1, column=2)
boutonVert = tk.Button(root, optionsBoutonCouleur, text='VERT', fg='green',
activebackground='green')
boutonVert.grid(row=2, column=1)
boutonJaune = tk.Button(root, optionsBoutonCouleur, text='JAUNE', fg='yellow',
activebackground='yellow')
boutonJaune.grid(row=2, column=2)
boutons = {'red':boutonRouge, 'blue':boutonBleu,
'yellow':boutonJaune, 'green':boutonVert}
boutonJouer = tk.Button(root, text='Jouer sequence', width=30, bg='grey',
command=jouer, state=tk.NORMAL)
boutonJouer.grid(row=3, column=1, columnspan=2)
root.mainloop() |
Partager