Bonjour à tous,
Je viens demander un petit coup de main =)
Le souci est qu'une fonction perso qui est sensée afficher un carré de 2 pixels de large sur mon écran ne fonctionne pas (pas d'erreur de compil, les pixels n'apparaissent juste pas).....
Je vous donne les infos utiles de mon code:

mon main:
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
 
    SDL_Init( SDL_INIT_VIDEO );
    SDL_Surface* screen=NULL;
    screen = SDL_SetVideoMode(402, 402, 32,SDL_HWSURFACE|SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Tron",NULL);
    SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format,0,0,0));
    // initialisation des valeurs
    FILE* fichier = NULL;
    fichier = fopen("config.txt","r");
    rewind(fichier);
    int nb=fgetc(fichier);
    int i=1;
struct couleur couleur[nb]; //nb est compris entre 2 et 8 inclus.
    for (i=0; i<=nb-1; i++)
    {
        if (i=0){couleur[i].r=255;couleur[i].g=0;couleur[i].b=0;}
        if (i=1){couleur[i].r=0;couleur[i].g=255;couleur[i].b=0;}
        if (i=2){couleur[i].r=0;couleur[i].g=0;couleur[i].b=255;}
        if (i=3){couleur[i].r=255;couleur[i].g=255;couleur[i].b=0;}
        if (i=4){couleur[i].r=255;couleur[i].g=128;couleur[i].b=65;}
        if (i=5){couleur[i].r=65;couleur[i].g=255;couleur[i].b=255;}
        if (i=6){couleur[i].r=255;couleur[i].g=65;couleur[i].b=255;}
        if (i=7){couleur[i].r=190;couleur[i].g=190;couleur[i].b=190;}
    }
    struct coo coo[nb];
    for (i=0; i<=nb-1; i++)
    {
        if (i=0){coo[i].x=101;coo[i].y=201;}
        if (i=1){coo[i].x=301;coo[i].y=201;}
        if (i=2){coo[i].x=201;coo[i].y=101;}
        if (i=3){coo[i].x=201;coo[i].y=301;}
        if (i=4){coo[i].x=151;coo[i].y=151;}
        if (i=5){coo[i].x=151;coo[i].y=251;}
        if (i=6){coo[i].x=251;coo[i].y=151;}
        if (i=7){coo[i].x=251;coo[i].y=251;}
        pixelOn(coo[i],couleur[i],screen);
    }
    pixelOn(coo[0],couleur[0],screen);
    SDL_Flip(screen);
    pause();
    SDL_Quit();
    printf("Exited cleanly\n");
structures et fonctions:
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
 
struct coo
{
    int x; // Abscisses
    int y; // Ordonnées
};
 
struct couleur
{
  int r;
  int g;
  int b;
};
 
void pixelOn(struct coo coor, struct couleur coul, struct SDL_Surface *screen)
{
    SDL_Surface *aire=NULL;
    SDL_Rect position;
    position.x=coor.x;
    position.y=coor.y;
    aire=SDL_CreateRGBSurface(SDL_HWSURFACE,2,2,32,0,0,0,0);
    SDL_FillRect(aire,NULL,SDL_MapRGB(aire->format,coul.r,coul.g,coul.b));
    SDL_BlitSurface(aire,NULL,screen,&position);
    SDL_FreeSurface(aire);
}
Voili voilou. Récap' sur l'erreur:
-Le programme compile
-PixelOn n'a pas l'air de jouer son rôle
-PixelOn fonctionne si je lui balance des structures qui ne proviennent pas d'un tableau.

Merci d'avance, zominym.