Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme avec le premier exercice de m@teo21

Sujet résolu
    15 juin 2006 à 15:45:47

    bonjour j'ai essayer de faire le deuxieme degradé que m@teo nous propose de faire voici ma correction mais il ya un bug :
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>

    void pause();

    int main(int argc, char *argv[])
    {
     
       
        SDL_Surface *lignes[256] = {NULL}, *ecran = NULL;
        int r = 255, v = 0;
       
        SDL_Init(SDL_INIT_VIDEO);
       
        SDL_Rect position;
       
        ecran = SDL_SetVideoMode(640, 256, 32, SDL_HWSURFACE);
       

       
        for (r = 255; v <= 255 ; r--, v++ )
            lignes[v] = SDL_CreateRGBSurface(SDL_HWSURFACE, 640, 1, 32, 0, 0, 0, 0);
           
            SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
       
        for (r = 255; v <= 255 ; r--, v++ )
        {
            position.x = 0;
            position.y = v;
            SDL_FillRect(lignes[v], NULL, SDL_MapRGB(ecran->format, r, v, 0));
            SDL_BlitSurface(lignes[v], NULL, ecran, &position);
        }
           
             
       
       
        SDL_Flip(ecran)

        pause();

        SDL_FreeSurface(lignes[v]);
        SDL_Quit();

        return EXIT_SUCCESS;
    }

    void pause()
    {
        int continuer = 1;
        SDL_Event event;

        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }


    EDIT: probleme resolu il fallé juste metre dans mes for : v = 0 voici mon code complet:

    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>

    void pause();

    int main(int argc, char *argv[])
    {
     
       
        SDL_Surface *lignes[256] = {NULL}, *ecran = NULL;
        int r = 255, v = 0;
       
        SDL_Init(SDL_INIT_VIDEO);
       
        SDL_Rect position;
       
        ecran = SDL_SetVideoMode(640, 256, 32, SDL_HWSURFACE);
       

       
        for (r = 255, v = 0; v <= 255 ; r--, v++ )
            lignes[v] = SDL_CreateRGBSurface(SDL_HWSURFACE, 640, 1, 32, 0, 0, 0, 0);
           

       
        for (r = 255, v = 0; v <= 255 ; r--, v++ )
        {
            position.x = 0;
            position.y = v;
            SDL_FillRect(lignes[v], NULL, SDL_MapRGB(ecran->format, r, v, 0));
            SDL_BlitSurface(lignes[v], NULL, ecran, &position);
        }
           
             
       
       
        SDL_Flip(ecran)

        pause();

        SDL_FreeSurface(lignes[v]);
        SDL_Quit();

        return EXIT_SUCCESS;
    }

    void pause()
    {
        int continuer = 1;
        SDL_Event event;

        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      15 juin 2006 à 20:25:09

      --> Sujet résolu à cocher ;)
      • Partager sur Facebook
      • Partager sur Twitter

      probleme avec le premier exercice de m@teo21

      × 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