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 : 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 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)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...
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 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')
Merci d'avance
Partager