Partage
  • Partager sur Facebook
  • Partager sur Twitter

Différence programmation entre 2 pcs

    9 juillet 2006 à 20:56:24

    Bonsoir à tous :)

    Dites moi, peut il y avoir des différences d'exécution pour des programmes faits en C avec SDL sur un processeur 32 bits et un pc fonctionnant à double coeur tournant sur 32 ou 64 bits au faite ?? (je précise le double coeur c'est un athlon X2 4200+ mais je sais pas le nombre de bits).


    Car mon pong tourne nickel sur plusieurs 32 bits (la balle est bien renvoyé par ma barre^^) et sur mon nouveau pc à double coeur, la balle passe à travers de la barre :-°

    Merci de vos réponses
    • Partager sur Facebook
    • Partager sur Twitter
      10 juillet 2006 à 15:49:23

      Ca doit pas être le processeur car j'ai moi meme fait un pong (juste après avoir le le tuto) et il marche sans problème avec mon processeur (qui de plus date : AMD Athlon 1700+ :lol: )

      C'est peut-être le code qui cloche ... :euh:
      • Partager sur Facebook
      • Partager sur Twitter
        10 juillet 2006 à 17:17:58

        Tiens le même processeur que moi ^^
        C'est un 64 bits effectivement et il est bicoeur. Non ça n'explique absolument pas la différence entre les deux pc, normalement ça devrait être pareil.
        • Partager sur Facebook
        • Partager sur Twitter

        If you'd like to join us, read "How do we work at OpenClassrooms"! :)

          10 juillet 2006 à 17:19:39

          Tu utilises des fonctions de bas niveau ? (genre manipulation de bits, etc...) ?


          Est-ce que sur le 32bits de quelqu'un d'autre, ça marche ?
          • Partager sur Facebook
          • Partager sur Twitter
            10 juillet 2006 à 17:41:52

            ca marche oui sur d'autres 32 bits j'ai testé à mon boulot y a quelques jours nickel mais par exemple je viens de le passer à un pote en 64 bits ca passe pas :( je vois pas pourquoi je vous joint mes fichiers dans un rar si vous voulez matter y a tout...

            Pour ouvrir le projet, ouvrez pong.dev, pour lancer l'exe lancer pong.exe^^

            Merci les gars je ne comprends pas :(

            http://hugobosscool26.free.fr/pong.rar

            PS:je n'utilise pas de fonction de bas niveau !
            • Partager sur Facebook
            • Partager sur Twitter
              10 juillet 2006 à 17:47:39

              Hmmm, moi la balle passe à travers la barre :o !
              • Partager sur Facebook
              • Partager sur Twitter
                10 juillet 2006 à 18:21:00

                bon ben apparement si j'ai un bug ca serait dans la fonction de rencontre barre/balle...

                Elle se trouve dans le fichier source deplacement puis tout en bas !

                Pour ceux qui veulent pas dl le fichier voila le code:

                if (positballe.x>=positbarreD.x)//Gere barre de droite
                         if (positballe.y>=positbarreD.y && positballe.y<=positbarreD.y+barre->h)
                         vitesseX=-vitesseX;
                             


                         if (positballe.x<=positbarreG.x+barre->w)//Gere barre de gauche
                         if (positballe.y>=positbarreG.y && positballe.y<=positbarreG.y+barre->h)
                         vitesseX=-vitesseX;


                Je précise que pour ca j'avais demandé de l'aide sur le forum et on m'avait passé ce code :) à ne pas comprendre pourquoi cela ne marche pas pour moi !

                PS: C avec SDL^^

                Corrigé :)
                • Partager sur Facebook
                • Partager sur Twitter
                  10 juillet 2006 à 18:33:24

                  Je me souviens d'avoir bossé sur ce code, déja :D

                  La deuxième fois, dans le deuxième if, c'est pas positbarreD mais positbarreG.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 juillet 2006 à 20:14:04

                    il est vrai mais ca marche toujours pas... je vois vraiment pas pourquoi :s c'est bizarre cette affaire là !

                    MAJ FAITE:

                    http://hugobosscool26.free.fr/pong.rar
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 juillet 2006 à 22:13:44

                      Tu peux pas donner ton archive dans un format un peu plus accessible que .rar ?
                      (.zip, .tar.gz, etc...)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 juillet 2006 à 7:01:31

                        lol si tu veux mais pour moi les .rar sont beaucoup mieux accessibles que les zips lol :)

                        voila:

                        http://hugobosscool26.free.fr/pong.zip

                        Sachez également qu'en rar c'est tjs dispo !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 juillet 2006 à 8:59:57

                          Citation : hugobosscool26

                          if (positballe.x>=positbarreD.x)//Gere barre de droite
                          if (positballe.y>=positbarreD.y && positballe.y<=positbarreD.y+barre->h)
                          vitesseX=-vitesseX;

                          if (positballe.x<=positbarreG.x+barre->w)//Gere barre de gauche
                          if (positballe.y>=positbarreG.y && positballe.y<=positbarreG.y+barre->h)
                          vitesseX=-vitesseX;



                          Je n'ai pas le temps de me pencher sur ton erreur mais ce code est horrible, digne de programmeur c. On est actuellement dans une époque où la maintenabilité prime sur l'efficacité (l'optimisation en quelque sorte) du code.

                          Ce genre de petit raccourcis pour qu'un max de code tienne sur un ecran sans compter d'autres situation encore plus étonnantes :

                          Citation : hugobosscool26


                          if(positballe.y==(ecran->h-balle->h))//Gere le bord du bas
                          {vitesseY=-vitesseY;}

                          if(positballe.y==0)//Gere le bord du haut
                          {vitesseY=-vitesseY;}

                          if(positballe.x>=(ecran->w - balle->w))//Gere le bord de droite
                          {scorG++;
                          positballe.x=400;
                          positballe.y=100;
                          vitesseX=-vitesseX;}

                          if(positballe.x==0)//Gere le bord de gauche
                          {scorD++;
                          positballe.x=400;
                          positballe.y=100;}



                          Tu peux choisir de rester dans l'ancien temps où le programmeur dans sa tour d'ivoire codait ses programmes bien tranquillement sans se soucier des autres ou t'ouvrir à une communauté et présenter un code un peu plus agréable à lire.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 juillet 2006 à 12:58:57

                            Euh honnêtement je comprends pas trop pourquoi tu t'excites comme ça.

                            L'avantage de son code à lui c'est qu'il reste bon les barres ne prennent pas toute la hauteur de l'écran.

                            De plus, je vois pas trop en quoi il est si moche. Si mettre deux if à la suite te fais peur, tu dois trouver que ce forum est une suite de fous furieux dans des tours en dents de lait.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 juillet 2006 à 18:23:33

                              lol je suis désolé je suis dans une école et on m'apprend aussi à coder comme ca aprés va refaire l'éducation alors !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 juillet 2006 à 21:19:06

                                personne ne peut vraiment m'aider alors?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  18 juillet 2006 à 10:12:39

                                  Moi ça marche sur mon PC... Essais pê de chercher ailleurs dans le code. Pê que ça ne vient pas du moment où tu gère les collisions... Cherche par exemple aux endroits où tu gère le temps ou je sais pas moi.
                                  (Je n'est pas le temps de lire ton code dsl, en tt cas, il me paraît pas si moche que ça ! :) )
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    21 juillet 2006 à 21:21:42

                                    big up personne n'a d'idée alors?
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Différence programmation entre 2 pcs

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown