Bonjour ,
Après avoir sollicité votre aide il y a quelques jours déjà je me re-manifeste pour la création d'un jeu en python.
Mon projet est de créer un labyrinthe dans lequel se déplace une balle contrôlée à l'aide de boutons.
Pour cela j'ai déjà fait le gros du travail en créant le canvas, les limites du parcours, les fonctions dédiées au déplacement ect.
Néanmoins mon code concernant les fonctions de déplacement et les limites du parcours sont deux fichiers à part.
Mon problème est le suivant :
J'essaie de mettre en relation les deux de manière à ce que les limites du parcours soient en activité sur le labyrinthe et que lorsque le code dédié au déplacement renvoie False , le jeu s’arrête et renvoie la boule aux coordonnées de départ.

Voici le code concernant le mouvement de la boule :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
from Tkinter import *
from random import randrange
from partie1_coord_droite_finie import est_dans_polygone
# procédure générale de déplacement :
def move():
    global dep, sx, sy
     if est_dans_polygone = False :
      command=pause
    can1.move(cerc1, sx*dep, sy*dep)
    can1.after(100, move)
# gestionnaires d'évènements:
def dep1_gauche(event):
    global sx, sy
    sx = -1
    sy = 0
 
def dep1_droite(event):
    global sx, sy
    sx = 1
    sy = 0
 
def dep1_haut(event):
    global sy, sx
    sy = -1 
    sx = 0 
 
def dep1_bas(event):
    global sy, sx  
    sy = 1 
    sx = 0
 
def start_it():
    "démarrage de l'animation"
    global flag
    flag = not flag
    move()
 
def pause() :
    #nous servira quand on touchera le mur
     "arret de l'animation"
     global flag    
     flag =0
 
 
# Programme principal
 
# les variables suivantes seront utilisées de manière globale:
dep = 5   # valeur de deplacement
x_cerc, y_cerc = 70, 81 #coordonnées initiales
sx, sy = 1, 0
dim = 10
flag =0   #commutateur
 
# Création du widget principal ("maître"):
fen1 = Tk()
fen1.title("Super Ball")
 
# création des widgets "esclaves":
can1 = Canvas (fen1, bg='white', height=500, width=500)
cerc1 = can1.create_oval(x_cerc, y_cerc, x_cerc + dim, y_cerc + dim,fill = 'grey')
can1.pack(side=LEFT)
can1.create_rectangle(50,50,100,100) #dessine un rectangle
can1.create_rectangle(120,280,170,335)
polygone1 = [100,65,420,65], [100,85,400,85]
can1.create_line(tuple(polygone1[0]),fill='red',width=4)#ligne 1
can1.create_line(tuple(polygone1[1]),fill='red',width=4)#ligne 2
can1.create_line(400,84,400,300,fill='red',width=4)#ligne 3
can1.create_line(420,65,420,320,fill='red',width=4)#ligne 4
can1.create_line(170,320,420,320,fill='red',width=4)#ligne 5
can1.create_line(170,300,400,300,fill='red',width=4)#ligne 5
Button(fen1, text='Démarrer', command=start_it).pack(side=BOTTOM)
Button(fen1, text='Quitter', command=fen1.destroy).pack(side=BOTTOM)
Button(fen1, text='Gauche',command=dep1_gauche).pack()
Button(fen1, text='Droite', command=dep1_droite).pack()
Button(fen1, text='Haut', command=dep1_haut).pack()
Button(fen1, text='Bas', command=dep1_bas).pack()
Button(fen1, text='Accélère!', command=start_it).pack(side=BOTTOM)
can1.bind("<z>", dep1_haut)
can1.bind("<s>", dep1_bas)
can1.bind("<d>", dep1_droite)
can1.bind("<q>", dep1_gauche)
 
 
# démarrage du réceptionnaire d'évènements (boucle principale):
fen1.mainloop()
Mon souci se situe notemment dans les premières lignes du code ou je ne vois pas quoi changer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
def move():
    global dep, sx, sy
     if est_dans_polygone = False :
      command=pause
Merci de votre aide!J'espère avoir été relativement clair
Un débutant.