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
| from Tkinter import *
def click(event):
global firstclick
global source_i
global source_j
global dest_i
global dest_j
global joueur1
print event.x, event.y
print "case :", event.x/40,event.y/40
if firstclick == True:
firstclick = False
source_i = event.x/40
source_j = event.y/40
else:
firstclick = True
dest_i = event.x/40
dest_j = event.y/40
if joueur1 == True:
ok = deplacementJ1(damier, source_i, source_j, dest_i, dest_j)
else:
ok = deplacementJ2(damier, source_i, source_j, dest_i, dest_j)
if ok == False:
return
if joueur1 == True:
joueur1 = False
print "c'est au tour du joueur violet"
else:
joueur1 = True
print" c'est au tour du joueur orange"
def visu(damier):
for ligne in damier:
for case in ligne:
print case,
print "\n",
def redraw(damier, i, j, k, l, couleur):
damier.create_oval(k*40,l*40,k*40+30,l*40+38,width=2,fill=couleur)
damier.create_rectangle(i*40,j*40,i*40+39,j*40+39,fill="black")
def deplacementJ1(damier,i,j,k,l):#deplacement joueur1
if (i+j)%2 != 0:
return False
if k==i+1 and l==j+1:#droite
redraw(damier, i, j, k, l, "orange")
return True
if k==i-1 and l==j+1:#gauche
redraw(damier, i, j, k, l, "orange")
return True
if k==i-1 and l==j-1:#recule
return False
if k==i+1 and l==j-1:#idem
return False
#if k==i+1 and l==j+1:
# if k== pion_orange and l==pion_orange:
# return False
#if k==i-1 and l==j+1:
# if k== pion_orange and l== pion_orange:
# return False
return False
def deplacementJ2(damier,i,j,k,l):#deplacement joueur2
if (i+j)%2 != 0:
return False
if k==i+1 and l==j-1:#droite
redraw(damier, i, j, k, l, "purple")
return True
if k==i-1 and l==j-1:#gauche
redraw(damier, i, j, k, l, "purple")
return True
if k==i-1 and l==j-1:#recule
return False
if k==i+1 and l==j-1:#idem
return False
return False
fen=Tk()
fen.title("jeu de dames")
damier=Canvas(fen,bg="dark grey",height=400,width=400)
for i in range(10):
for j in range (10):
print i,j
x=0
y=0
for i in range (10):
damier.create_line(x,i*40,x+400,i*40)
damier.create_line(i*40,y,i*40,y+400)
for i in range (10):
for j in range (10):
if (i+j)%2==0:
damier.create_rectangle(i*40,j*40,i*40+39,j*40+39,fill="black")
else:
damier.create_rectangle(i*40,j*40,i*40+39,j*40+39,fill="white")
for i in range(10):
for j in range (10):
if (i+j)%2==0 and j<3:
orange =damier.create_oval(i*40,j*40,i*40+30,j*40+38,width=2,fill="orange")
elif (i+j)%2==0 and j>=7:
purple =damier.create_oval(i*40,j*40,i*40+30,j*40+38,width=2,fill="purple")
arreter=Button(fen,text="arreter",command=fen.destroy)
arreter.pack()
damier.pack()
firstclick = True
joueur1 = True
source_i = -1
source_j = -1
dest_i = -1
dest_j = -1
damier.bind("<Button-1>",click)
##fen.mainloop() |
Partager