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

SDL Discussion :

Problème SDL_Rect - Double boucle for


Sujet :

SDL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème SDL_Rect - Double boucle for
    Bonjour
    Je suis en train de coder un jeu de BackGammon. Pour l'instant je m'occupe de la partie graphique que je code en SDL 1.2 (j'utilise CodeBlocks comme IDE). J'ai une fonction qui consiste à afficher les pions sur l'écran qui me pose problème. Et pour le coup, je ne vois pas où est mon erreur (pas de problème au niveau du compilateur, mais mon programme ''ne répond plus'', en gros j'ai juste une fenêtre noire qui apparaît...)

    Voila le code de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct donneesJeu donneesJeu;
    struct donneesJeu {
     
        int nbPionJ1;
        int nbPionJ2;
    };
    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
    void afficherPion (donneesJeu *DonneesJeu, SDL_Surface *ecran) {
     
        SDL_Surface *ImagePionBlanc = NULL, *ImagePionNoir = NULL;
     
        SDL_Rect position;  //position du pion
     
        ImagePionBlanc = SDL_LoadBMP ("Pion_blanc.bmp"); //on charge l'image du pion blanc
        SDL_SetColorKey(ImagePionBlanc, SDL_SRCCOLORKEY, SDL_MapRGB(ImagePionBlanc->format, 0, 0, 255));  //transparence autour du pion
     
        ImagePionNoir = SDL_LoadBMP ("Pion_noir.bmp"); //on charge l'image du pion noir
        SDL_SetColorKey(ImagePionNoir, SDL_SRCCOLORKEY, SDL_MapRGB(ImagePionNoir->format, 0, 0, 255));  //transparence autour du pion
     
        for (int i=0; i=5; i++)   //colonnes
        {
            int PionBlanc = DonneesJeu[i].nbPionJ1;
            int PionNoir = DonneesJeu[i].nbPionJ2;
            int Compteur = PionBlanc;
     
            for (int j=0 ; j=(PionBlanc + PionNoir); j++) //lignes
            {
                position.x = 663 -46*i ;
                position.y = 550 -45*j;
     
                if ( Compteur > 0) {    // s'il y a un pion blanc
                    Compteur --;
     
                    SDL_BlitSurface(ImagePionBlanc, NULL, ecran, &position); // On blit le pion blanc
                }
     
                else {
                    SDL_BlitSurface(ImagePionNoir, NULL, ecran, &position);
                }
            }
        }
    }
    Merci de m'avoir lu

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Alors déjà indentation est mauvaise , ce n'est pas agréable a lire.
    Ensuite on a voit pas la boucle du jeu , as tu mis un SDL_Flip ? est que tu charge bien les images ? (tu peux vérifier si elle ne renvoie pas nul) bref quelque test unitaires.
    Sinon une autre remarque afficherPion est il en boucle dans le jeu ? si oui tu aura une fuite de mémoire et il est déconseille de faire un chargement en plein jeu en boucle , en général en sépare le chargement et affichage.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/05/2007, 17h56
  2. problème avec une boucle For
    Par mademoizel dans le forum ASP
    Réponses: 3
    Dernier message: 24/03/2007, 13h20
  3. [MySQL] problème sur une boucle for
    Par leclone dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 28/12/2006, 10h33
  4. Réponses: 2
    Dernier message: 29/08/2006, 13h59
  5. Problème avec une boucle for
    Par cisse18 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 29/03/2006, 16h50

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