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

Java Discussion :

Déplacement balle Pong


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 48
    Par défaut Déplacement balle Pong
    Bonjour,

    je me suis proposer de faire un pong, malheureusement le mouvement de la balle est très répétitif, malgrès quelques efforts je n'arrive pas à faire rebondir la balle sur les limites du terrain, je sollicite donc votre aide:


    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
     
    public void run() {
     
     
     
     
        	boolean rebondBalle = false;
     
            while (true) {
     
     
                /* si la balle est en jeu (en mouvement) */
                if (balle_Service) {
     
                    /* si celle-ci se déplace vers la gauche */
                    if (deplacement_Gauche && balle_X > BALLE_X_MIN) {
     
                        rebondBalle = (balle_Y >= raquetteOrdi_Y && balle_Y < (raquetteOrdi_Y + LONGUEUR_RAQUETTE)
                                ? true : false);
     
                        /* mise à jour de la position de la balle sur la table */
                        balle_X = balle_X - INCR_BALLE   ;
                        balle_Y = balle_Y   ;
                        table.positionBalle(balle_X, balle_Y);
     
                        /* si la balle rebondie */
                        if (balle_X <= RAQUETTE_ORDI_X && rebondBalle) {
     
                            deplacement_Gauche = false;
                        }
     
     
                    }
                    // Rebondissement de la balle sur les limites du terrain trajectoir aleatoir 
                    if (balle_Y >= HAUT_TABLE ) 
                    {
     
                    	 deplacement_Vertical = - 1;
     
                    }
     
                    if (balle_Y<=BAS_TABLE ) 
                    {
     
                    	 deplacement_Vertical =   1;
                    }
                    /* si celle-ci se déplace vers la droite */
     
                    if (!deplacement_Gauche && balle_X <= table.balle_x_max) {
     
     
                        rebondBalle = (balle_Y >= raquetteJoueur_Y && balle_Y < (raquetteJoueur_Y + LONGUEUR_RAQUETTE)
                                ? true : false);
     
                        /* mise à jour de la position de la balle sur la table */
                        balle_X = balle_X + INCR_BALLE;
     
                        table.positionBalle(balle_X, balle_Y);
     
                        /* si la balle rebondie */
                        if (balle_X >= table.place_Raquette && rebondBalle) {
     
                            deplacement_Gauche = true;
                        }
     
                    }
                }

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Tu ne mets pas à jour balle_y
    Quels sont les rebonds qui ne fonctionnent pas ?
    Collisions avec les raquettes ?
    Collisions avec les murs haut/bas?
    Collisions avec les murs gauche/doit ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 48
    Par défaut
    C'est les rebonds en haut et en bas qui ne marche pas, avant ça marchait quelque fois et depuis une manip ça ne marche plus du tout.
    J'aurai voulu savoir si quelqu'un aurait un code propre par rapport à ça

  4. #4
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Citation Envoyé par hostyle Voir le message
    C'est les rebonds en haut et en bas qui ne marche pas, avant ça marchait quelque fois et depuis une manip ça ne marche plus du tout.
    Fais la manip inverse .

    Citation Envoyé par hostyle Voir le message
    J'aurai voulu savoir si quelqu'un aurait un code propre par rapport à ça
    Rooooooo, tu vas pas tout changer pour une petite baballe qui rebondi pas comme tu veux . D'après ton code, deplacement_vertical me semble correctement mis à jour... J'en conclu que c'est donc l'utilisation que tu fais de cette variable qui ne va pas donc il nous faudrait le bout de code dans lequel tu incrémentes la position de ta balle (sauf, évidement, si maintenant que je t'ai mis sur une piste tu trouves par toi même l'origine du sushi).

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 48
    Par défaut
    lol Le problème c'est que je ne sais plus comment j'avais codé!!!

    Euuh ba je vois pas comment le modifier ce deplacement vertical c'est gavant...

  6. #6
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 48
    Par défaut
    Le problème c'est que je touche à l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (balle_Y >= HAUT_TABLE ) 
                    {
     
                    	 deplacement_Vertical = - 1;
     
                    }
    La balle fait nimporte quoi et les mouvements sont completement changés

Discussions similaires

  1. Déplacement aléatoire de plusieurs balles
    Par xoux28 dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 15/03/2014, 19h46
  2. Déplacement de balle
    Par phileo75 dans le forum Débuter
    Réponses: 7
    Dernier message: 27/08/2013, 14h43
  3. Gestion de la Balle du jeux pong en C (avec SDL)
    Par patatejaune dans le forum C
    Réponses: 5
    Dernier message: 15/04/2013, 22h00
  4. Réponses: 5
    Dernier message: 09/04/2011, 15h04
  5. Problème déplacement d'une balle
    Par Coco4486 dans le forum Ogre
    Réponses: 21
    Dernier message: 09/05/2008, 11h47

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