Déplacement des bateaux bataille navale
Bonjour,
comme le mentionne le titre, je réalise une bataille navale en ISN sur tkinter.
Nous avons importé une image qui comprend une grille ( on a dessiné une grille sur paint) afin de pouvoir jouer dessus.
Afin que l'utilisateur puisse bouger ses bateaux, nous avons voulu les faire bouger avec les flèches du clavier, ce qui fonctionne.
Mais nous avons un problème: Nous avons créés 5 boutons (des zones de clics) permettant de terminer la position d'un bateau pour ensuite pouvoir déplacer le suivant.
Le problème est que quand on appuie sur le bouton "OK" pour le 1 er bateau, celui-ci devrai rester à sa place et un nouveau bateau devrai bouger or ici, le nouveau bateau apparait mais ne bouge pas, c'est le 1er qui bouge.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| def Clavier(event):
""" Gestion de l'événement Appui sur une touche du clavier """
global PosX,PosY
touche = event.keysym
print(touche,PosX,PosY)
# déplacement vers le haut
if touche == 'z' or touche== 'Up':
PosY -= 25
# déplacement vers le bas
if touche == 's' or touche== 'Down':
PosY += 25
# déplacement vers la droite
if touche == 'd' or touche== 'Right':
PosX += 25
# déplacement vers la gauche
if touche == 'q' or touche== 'Left':
PosX -= 25
Pion = canv.create_oval(PosX-10,PosY-10,PosX+10,PosY+10,width=2,outline='black',fill='red') |
Code:
1 2 3 4 5
| if OK:
bateau=ESCORTEUR1
print("PLACEMENT DU 1 ER BATEAU TERMINÉ")
canv.create_rectangle(452,135,493,160,width=2,outline='red')
deuxclavier(event) |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
def deuxclavier(event):
""" Gestion de l'événement Appui sur une touche du clavier """
global PosX,PosY
touche = event.keysym
print(touche,PosX,PosY)
# déplacement vers le haut
if touche == 'z' or touche== 'Up':
PosY -= 25
# déplacement vers le bas
if touche == 's' or touche== 'Down':
PosY += 25
# déplacement vers la droite
if touche == 'd' or touche== 'Right':
PosX += 25
# déplacement vers la gauche
if touche == 'q' or touche== 'Left':
PosX -= 25
# on dessine le pion à sa nouvelle position
canv.coords(Pion2,PosX -10, PosY -10, PosX +35, PosY +30) #Coordonées du point
Pion2 = canv.create_oval(PosX-10,PosY-120,PosX+10,PosY+10,width=2,outline='yellow',fill='green') |
Bon, voilà, je fais une fonction similaire en changeant le nom du Pion pour chaque bateau mais je ne comprend pas pourquoi, alors que j'appelle une nouvelle fonction, elle ne se met pas en marche...
Merci d'avance