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
|
import os
os.chdir("U:/Documents/")
import tkinter as tk
import time as t
liste = [(0, 0),(0, 1), (0, 2), (1, 2), (2, 2), (3, 2), (3, 3), (3, 4), (4, 4), (5, 4), (5, 5), (5, 6), (6, 6), (7, 6), (7, 7), (7,8), (8, 8), (9, 8), (10, 8), (10, 9), (10, 10), (10, 11), (11, 11), (12, 11), (12, 12), (12, 13), (12, 14), (13, 14), (14, 14),(14, 15), (14, 16), (15, 16), (16, 16)]
#opérations de base
def moins_tuple(t,u):
n = len(t)
n2 = len(u)
if n != n2:
raise ValueError("the tuples must have the same length")
else:
r = tuple()
for k in range(n):
r = r + (t[k]-u[k],)
return(r)
def plus_tuple(t,u):
n = len(t)
n2 = len(u)
if n != n2:
raise ValueError("the tuples must have the same length")
else:
r = tuple()
for k in range(n):
r = r + (t[k]+u[k],)
return(r)
#code du déplacement
L = liste
n = len(liste)
i = 0
l,c = L[0]
l2 = 30*(l)+2
c2 = 30*(c)+2
com = 0
fenetre = tk.Tk()
photo = tk.PhotoImage(file = "UEA.gif")
def dplct2():
global L,i,com,l2,c2
if i< n-1:
if com<10:
x,y = moins_tuple(L[i+1],L[i])
l2 = l2 + x*3
c2 = c2 + y*3
canvas.coords(rectangle,c2+3,l2+3,c2+27,l2+27)
fenetre.after(70,dplct2)
com = com + 1
else:
com = 0
i = i+1
fenetre.after(1,dplct2)
def dplct(event):
dplct2()
canvas = tk.Canvas(fenetre, width = 512, height = 512,bg = 'cyan')
item = canvas.create_image(256,256, image=photo)
canvas.pack(padx = 5 , pady = 5)
rectangle = canvas.create_rectangle(c*30+3,l*30+3 ,c*30+27,l *30+27,fill="black")
canvas.focus_set()
canvas.bind('<KeyPress-space>',dplct)
fenetre.mainloop() |