IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

'Bug' dans mon jeu de Pong


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut 'Bug' dans mon jeu de Pong
    Bonjour ou bonsoir,

    j'ai essayé comme mon professeur de ISN me l'a dit de faire un pong en Python et je l'ai fait mais y'a un espèce de 'bug' qui se produit, quand on essaie de bouger deux plateformes en même temps, l'une s'arrête et l'autre bouge, ou si l'on en bouge une, que l'on reste appuyé sur le bouton pour la mouvoir puis qu'on essaie de faire bouger l'autre tout en bougeant la première, la première s'arrête aussi, j'ai mis bug entre guillemet car je pense que la liaison se brise quand on change de touche et que c'est moi qui ai mal écrit la partie pour gérer les mouvement, de l'aide s'il vous plaît parce que j'ai beau chercher sur internet j'trouve pas de solution ou je cherche très mal.

    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    from tkinter import *
    from random import *
     
    fen= Tk()
    fen.title("Pong")
     
    p1,p2,xb,yb,yj1,yj2=0,0,350,150,0,0
     
    x2=randint(-2,2)
    y2=randint(-2,2)
     
    while (y2==0 and x2==0) or x2==0 or y2==0:
        x2=randint(-2,2)
        y2=randint(-2,2)
     
    def mouvement(event):
        global yj1,yj2
     
        if yj1<250 and event.keysym=='Down':
            yj1+=10
            can.coords(rectangle, 695,yj1, 700, 50+yj1)
     
        if yj1>0 and event.keysym=='Up':
            yj1-=10
            can.coords(rectangle, 695,yj1, 700, 50+yj1)
     
        if yj2<250 and event.keysym=='s':
            yj2+=10
            can.coords(rectangle1,0,yj2, 5, 50+yj2)
     
        if yj2>0 and event.keysym=='z':
            yj2-=10
            can.coords(rectangle1, 0,yj2, 5, 50+yj2)
     
    def start():
        global xb,yb,x2,y2,p1,p2
        xb=xb+x2
        yb=yb+y2
        can.coords(boule,xb-5,yb-5,xb+5,yb+5)
        if xb+10>=700 and yb>yj1 and yb<yj1+50:
            x2=-x2
        if xb+10>=700 and (yb<yj1 or yb>yj1+50):
            p2+=1
            xb=350
            yb=150
            can.coords(boule,xb-5,yb-5,xb+5,yb+5)
            score.configure(text=str(p2)+' - '+str(p1))
            x2=randint(-2,2)
            y2=randint(-2,2)
     
            while (y2==0 and x2==0) or x2==0 or y2==0:
                x2=randint(-2,2)
                y2=randint(-2,2)
            fen.after(10)
            xb=xb+x2
            yb=yb+y2
            can.coords(boule,xb-5,yb-5,xb+5,yb+5)
     
        if yb+5>=300:
            y2=-y2
        if xb-10<=0 and yb>yj2 and yb<yj2+50:
            x2=-x2
     
     
        if xb-10<=0 and (yb<yj2 or yb>yj2+50):
            p1+=1
            xb=350
            yb=150
            can.coords(boule,xb-5,yb-5,xb+5,yb+5)
            score.configure(text=str(p2)+' - '+str(p1))
            x2=randint(-2,2)
            y2=randint(-2,2)
     
            while (y2==0 and x2==0) or x2==0 or y2==0:
                x2=randint(-2,2)
                y2=randint(-2,2)
            fen.after(10)
            xb=xb+x2
            yb=yb+y2
            can.coords(boule,xb-5,yb-5,xb+5,yb+5)
     
        if yb-5<=0:
            y2=-y2
        fen.after(3,start)
     
    can= Canvas(fen, bg="Black", width=700, height=300)
    can.grid(row=1,column=0, columnspan=3, rowspan=3)
    rectangle= can.create_rectangle(695,0,700,50, fill='white')
    rectangle1= can.create_rectangle(0,0,5,50, fill='white')
    boule= can.create_oval(xb-5,yb-5,xb+5,yb+5, fill="blue")
    score= Label(fen, text=str(p2)+' - '+str(p1))
    score.grid(row=0, column=1)
    Button(fen, text="Start", command=start,).grid(row=4, column=1)
    fen.bind('<Key>', mouvement)
     
    fen.mainloop()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 744
    Par défaut
    Salut,

    C'est pas un bug, juste que c'est un peu plu compliqué que çà de gérer 2 touches appuyées en même temps (ou presque). Voir cette discussion.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut
    Salut,

    Merci énormément pour ton aide, j'vais faire des recherches sur cette méthode parce qu'il y a des fonctions comme .after_cancel ou .get que je connais pas encore mais merci pour cette piste.

    -A

Discussions similaires

  1. Bug dans mon algo..
    Par Chekov dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 20h42
  2. [Vba-E]Bug dans mon code
    Par antoinelavigne dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/06/2006, 14h55
  3. petit bog dans mon jeu de morpion
    Par 123quatre dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/06/2006, 11h10
  4. Bug dans mon stylessheet
    Par wikipierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/06/2006, 10h16
  5. Bug dans mon timer
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/01/2006, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo