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   -
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 :)

3 réponses

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    'lut, déjà, tu as inversé les coordonnées des raquettes gauche et droite; comme ça c'est mieux:
    PosXG=30
    PosYG=140
    PosXD=450
    PosYD=140
    Et 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
    1
  2. Xetonixx2 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci bien !

    Cela me débloque bien ! :)
    0