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
| # FONCTIONS #
#############
def creermatrice():
global matrice
for i in range (10):
ligne=[]
for j in range (10):
if i%2==0:
if j%2==0:
ligne.append(0)
else:
ligne.append(3) # 3 répresente une case blanche, donc elle n'est pas utlisée
else:
if j%2==0:
ligne.append(3)
else:
ligne.append(0)
matrice.append(ligne)
def placementpions():
global matrice
for ligne in range (0,4):
for colonne in range (0,10):
if matrice [colonne][ligne]==0:
matrice [colonne][ligne]=1 # on remplace case noire des 4 premières lignes par un pion vert"
for ligne in range (6,10):
for colonne in range (0,10):
if matrice [colonne][ligne]==0:
matrice [colonne][ligne]=2 # on remplace case noire des 4 dernières lignes par un pion rouge"
def damier(): # on cree une fonction ayant pour but de tracer le damier
global matrice
can1.delete(all)
for i in range (10):
for j in range (10):
x=i*20 # on initialise la variable x a i*20 pour la boucle pour
y=j*20 # on initialise la variable y a j*20 pour la boucle pour
if matrice[i][j]==0 :
can1.create_rectangle(x,y,x+20,y+20,fill='black') # premiere ligne du damier avec le premier type de motif
if matrice[i][j]==1 :
can1.create_rectangle(x,y,x+20,y+20,fill='black')
can1.create_oval(x,y,x+20,y+20,fill='red')
if matrice[i][j]==2 :
can1.create_rectangle(x,y,x+20,y+20,fill='black')
can1.create_oval(x,y,x+20,y+20,fill='green')
def casedeplacement(event):
x,y=event.x,event.y
message="x= "+str(x)+" y= "+str(y)
coordonnees.configure(text=message)
def deplacement(id,jd,ia,ja): #on effectue le déplacement des pions
global pions_i, pions_j, rouge, vert
if selected pions_i:
if
###########################
#Programme principal
###########################
#initialisation variables
hauteur=200
largeur=200
matrice=[]
creermatrice()
placementpions()
deplacement()
#création du widget de la fenêtre
fen=Tk() # on créé la fenêtre
fen.title("Damier") # donne un titre à la fenêtre
#creation des widgets esclaves
can1=Canvas(fen,bg='white',height=hauteur,width=largeur) # on créé le canevas de la fenêtre avec hauteur et largeur de 200 pixels
can1.pack(side=TOP, padx=5, pady=5)# place le cadre
bou2=Button(fen,text="Tracer",command=damier) # on a créé un bouton "tracer" dans la fenêtre
bou2.pack(side = LEFT) # on le place
coordonnees=Label(fen,texte="")
coordonnes.pack(side=RIGHT)
can1.bind('<Motion>',casedeplacement) #définir en fonction du placement de la souris, les coordonnées de x et y
# demarrage : # a partir de cette ligne, le programme 'surveille' ce que vous faites dans la fenetre
fen.mainloop() #on lance le receptionnaire d'évenements |
Partager