Jeu PONG Python [Tkinter] ! Recherche de l'Aide
Xetonixx2
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Xetonixx2 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Xetonixx2 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Depuis quelques temps j'essai de créer un mini jeu "pong" sous Python via Tkinter
Or, j'ai un problème depuis peu , je suis arrivé a un stade ou je dois faire rebondir la "balle" sur les "raquettes"... Sauf que ça ne fonctionne pas bien ... Voici un gif du résultat : https://gyazo.com/5e98a1d426ac0c5174de763034c4394d
Le problème viens de ma définition "def move()" , mais je n'arrive pas a cerner le problème.
Voici le lien vers mon programme python:
https://www.dropbox.com/s/gak776s9l5u9agy/Pong-TEST.py?dl=0
Pourriez vous me dire qu'est-ce qui cloche s'il vous plait? :)
Merci d'avance :)
Depuis quelques temps j'essai de créer un mini jeu "pong" sous Python via Tkinter
Or, j'ai un problème depuis peu , je suis arrivé a un stade ou je dois faire rebondir la "balle" sur les "raquettes"... Sauf que ça ne fonctionne pas bien ... Voici un gif du résultat : https://gyazo.com/5e98a1d426ac0c5174de763034c4394d
Le problème viens de ma définition "def move()" , mais je n'arrive pas a cerner le problème.
Voici le lien vers mon programme python:
https://www.dropbox.com/s/gak776s9l5u9agy/Pong-TEST.py?dl=0
Pourriez vous me dire qu'est-ce qui cloche s'il vous plait? :)
Merci d'avance :)
3 réponses
'lut, déjà, tu as inversé les coordonnées des raquettes gauche et droite; comme ça c'est mieux:
from human import idiocy
del idiocy
PosXG=30 PosYG=140 PosXD=450 PosYD=140Et deuxièmement, il y a deux fois le code de gestion de collision dans ta fonction move, en plus d'avoir des conditions qui ne sont pas logiques avec les positions; vite fait réécrit ça donne quelque chose plus comme ça:
def move(): global x,y,dx,dy,flag,PosXD,PosYD,PosXG,PosYG,balle xp, yp = x+dx, y+dy print (xp,yp) if xp >= PosXD + 5 and yp < PosYD+50 and yp > PosYD-10: dx = -dx if xp <= PosXG - 5 and yp < PosYG+50 and yp > PosYG-10: dx = -dx if yp> Hauteur -15 or yp < 15: dy = -dy x, y = x+dx, y+dy Canevas.coords(balle,x,y,x+16,y+16) if flag > 0: Mafenetre.after(50,move)Bien sur c'est loin d'être parfait (la balle passe au travers du bord des raquettes), mais l'idée est là.
from human import idiocy
del idiocy
j'ai pus avancer a ce résultat: https://gyazo.com/8cf065a8c3555efd20b0840e4d3d41d4
https://www.dropbox.com/s/dotmw4ienuokybo/Pong-TEST2.py?dl=0
Comment faire pour que la balle rebondisse sur le côté gauche de la raquette ?
(à noter que la raquette gauche fonctionne correctement)
Merci d'avance !
https://www.dropbox.com/s/dotmw4ienuokybo/Pong-TEST2.py?dl=0
Comment faire pour que la balle rebondisse sur le côté gauche de la raquette ?
(à noter que la raquette gauche fonctionne correctement)
Merci d'avance !