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

C Discussion :

Casse Brique (Probleme physique)


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 51
    Par défaut Casse Brique (Probleme physique)
    bonjour, en analysant le code du jeu Casse Brique j'ai bloqué sur la classe Trajectoire.c qui décrit comment la balle doit bouger au contact d'une brique ou du mur...
    mais il ya une variable "tempi" et "tempj" que j'arrive pa à voir à quoi elles servent !
    merci pour 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
    void deplacement_balle(BALLE *B){
     
         B->tempi++; B->tempj++;
         if (B->tempi<=abs(B->Ux)) if (B->Ux>0) B->posx++; else B->posx--;
         if (B->tempj<=abs(B->Uy)) if (B->Uy>0) B->posy--; else B->posy++;
     
     
         if (abs(B->tempi)==acoups) {
                                     B->tempi=0;
                                     B->tempj=0;
     
                                     }
     
         }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 51
    Par défaut
    à mon avis je pense que Ux et Uy reprensente les vitesses suivant les x et y et posx et posy sont les coordonnées mais la comparaison qu'il faut entre "tempi" et Ux n'a aucun sens pour moi !

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Je te rejoins en pensant également que Ux et Uy doivent représenter les vitesses horizontale et verticale de la balle. Seulement, le programme semble mal écrit.

    Apparemment, « acoups » représente un quantum de temps, où plutôt ici, un nombre de fois où l'on réévalue la position de balle, et le programme gère sa vitesse en limitant le nombre de déplacements par unité de temps. En gros, on la déplace une fois sur dix, deux fois sur dix, trois fois sur dix, etc. « temp » sert donc à compter le nombre de fois que l'on a déplacé la balle, et à figer l'évolution si l'on a dépassé le nombre de fois donné par Ux ou Uy. Quand on atteint la fin du quantum, on remet le tout à zéro et on repart pour un tour.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 51
    Par défaut
    merci pour votre reponse, mais dans la partie declaration de variable le type a fait un commentaire bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern int acoups;  // fixe le nombre de d' accoup de 1 pixel autorisés avant l' affichage de la balle
    vous en pensez quoi ??
    merci d'avance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 51
    Par défaut
    dans cette methode j'arrive pa comprendre pourquoi on fait cette division :
    Ux = (Ux/vitesse)*i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void reajustement_vitesse(BALLE *B,int i)
    {
         if (B->existence!=1) return;
         B->tempi=0; B->tempj=0;
         B->Ux=((B->Ux)/vitesse)*i;
         B->Uy=((B->Uy)/vitesse)*i;
         }
    merci pour vos explications

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par neeoo11 Voir le message
    merci pour votre reponse, mais dans la partie declaration de variable le type a fait un commentaire bizarre. vous en pensez quoi ?
    Que ça confirme ce que je pensais plus haut.

    Citation Envoyé par neeoo11 Voir le message
    dans cette methode j'arrive pa comprendre pourquoi on fait cette division :
    « Classe » et « méthode » sont des termes propres au C++. En l'occurence, cela semble être du C. Si ce n'est pas le cas, merci de le préciser pour que l'on déplace la discussion dans le bon forum.

    Ux = (Ux/vitesse)*i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void reajustement_vitesse(BALLE *B,int i)
    {
         if (B->existence!=1) return;
         B->tempi=0; B->tempj=0;
         B->Ux=((B->Ux)/vitesse)*i;
         B->Uy=((B->Uy)/vitesse)*i;
         }
    merci pour vos explications
    Impossible de t'en dire plus sans savoir où est déclarée « vitesse » (une globale ?) et la structure « Balle ». À vue de nez, je dirais que c'est un paramètre constant tout au long de l'exécution du programme et qui sert à ajuster la vitesse maximum de la balle en fonction de la puissance de la machine sur laquelle il tourne.

Discussions similaires

  1. probleme jeu casse brique
    Par benji84710 dans le forum VB.NET
    Réponses: 5
    Dernier message: 03/11/2011, 22h24
  2. Réponses: 5
    Dernier message: 06/09/2006, 09h35
  3. [Source] [SDL] Commencement d'un casse brique
    Par grincheux01 dans le forum Contribuez
    Réponses: 8
    Dernier message: 29/06/2006, 12h27
  4. Button "Start" dans un jeu de casse brique
    Par tex78 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 24/01/2006, 15h47
  5. [Tkinter] casse brique
    Par mamatt77 dans le forum Tkinter
    Réponses: 6
    Dernier message: 18/04/2005, 09h43

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