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
| from tkinter import*
from random import randint
def allum(): #création des allumettes et de leurs positions
x=0
y=0
x1=10
y1=20
Canevas.delete(ALL)# Pour qu'a chaque fois qu'on appuie sur le bouton1(jouer) on efface tout et on recommence
Canevas.create_line((250,10),(250,5000)) #ecart entre allumettes des paquets 1 et 2
Canevas.create_line((500,10),(500,5000))# ecart entre allumettes des paquets 2 et 3
Canevas.create_line((750,10),(750,5000))# ecart entre allumettes des paquets 3 et 4
texte0=Canevas.create_text(125,10, text="Paquet 1" ,font=("Arial",14,"bold","underline"))
texte1=Canevas.create_text(375,10, text="Paquet 2",font=("Arial",14,"bold","underline"))
texte2=Canevas.create_text(625,10, text="Paquet 3",font=("Arial",14,"bold","underline"))
texte3=Canevas.create_text(875,10, text="Paquet 4",font=("Arial",14,"bold","underline"))
L=[]
for i in range(4):
L.append(randint(1,10)) #Pour mettre les allumettes aléatoire entre 1 et 10 dans les 4 paquets
couleurs=["red","blue", "green", "pink"]
for j in range (4):
for i in range (L[j]):
Id.append(Canevas.create_rectangle(x+x1,100,y+y1,200,fill=couleurs[j]))
x1=x1+20
y1=x1+10
x=x+250
y=y+250
x1=10
y1=20
def Clic(event):
global couleur_choisie,premiere_couleur,seconde_couleur
supprime=False
# on recupere la position du pointeur de la souris
X = event.x
Y = event.y
i=0 #debut du parcours de la liste
while(not(supprime) and i<len(Id)):
#tant que j'ai pas supprime l alumette et que j'ai pas finis la liste, je cherche dans la liste des identifiants d'allumettes si il y a une alumette a l endroit ou j ai clique
[xmin,ymin,xmax,ymax] = Canevas.coords(Id[i])# je recupere pour chaque alumette ses coordonnees
if (xmin<X and xmax>X and ymin<Y and ymax>Y):#si j'ai clique sur l alumette
Canevas.delete(Id[i])#je la supprime visuellement
del Id[i]# et je la supprime de la liste des identifiants
supprime=True# me permet de sortir de la boucle, c'est a dire que si j'ai supprime l alumette ca sert a rien de parcourir la suite de la liste
i=i+1 # je passe a l element suivant
def Changement():
tour = (tour + 1) % 2
al= choix
if al > 0:
if tour == 0:
joueur()
#PRG PRINCIPAL
#notre fenetre graphique
fenetre = Tk()
fenetre.title('Le jeu des allumettes ')
couleur_choisie=False
# Variables globales
Largeur = 980
Hauteur = 520
L=[]
Id=[] # liste des identifiants d'allumettes
Canevas = Canvas(fenetre, width = Largeur, height =Hauteur, bg ='white')
Canevas.pack()
bouton1=Button(fenetre, bg='pink' , text="Nouveau jeu",command=allum)
bouton1.pack()
bouton2=Button(fenetre, bg='blue' , text="Changement de joueur",command=Changement)
bouton2.pack()
Canevas.bind('<Button-1>', Clic)
Canevas.pack()
Canevas.bind('<Button-2>', Clic)
Canevas.pack()
texte0=Label(fenetre,text="le joueur qui joue est B")
texte0.pack()
fenetre.mainloop()
#Chaque joueur joue chaq'un son tour , ils peuvent prendre seulement 3 allumettes dans 1 seul paquet choisit et puis le dernier qui a l'allumettes a gagné |
Partager