Bonjour à tous,

J'ai utilisé la bibliothèque SDL pour crée un fond dégradé lorsque je compile et exécute mon code.

Avant sa j'avais fait un code me permettant de jouer au jeu reversi sur un tableau tout simple fait en C.

J'aurais donc voulu savoir comment faire pour mettre mon jeu sur le fond dégradé que je viens de créer, ou placer le code correspondant à mon jeu ??

( Après sa j'aimerais trouver un moyen de rajouter un vrai tableau avec de vrais pions pour jouer, et la encore je ne sais pas trop comment faire )

voici mon dégradé :

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
int main(int argc, char *argv[])
{
 
 
 
 
int i1,j1,degrade;
SDL_Rect position,positionFond;
 
 
 
position.x = 0; 
position.y = 0;
 
 
 
 
 
SDL_Surface *ecran , *imageFond; // Le pointeur qui va stocker la surface de l'écran
SDL_Surface *pixel = NULL;
 
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER); // Chargement de la vidéo, de l'audio et du timer
 
ecran = SDL_SetVideoMode(700, 550, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); // On tente d'ouvrir une fenêtre
    if (ecran == NULL) // Si l'ouverture a échoué, on écrit l'erreur et on arrête
    {
        fprintf(stderr, "Impossible de charger le mode vidéo : %s\n", SDL_GetError());
        exit(EXIT_FAILURE);
    }
 
 
 
SDL_WM_SetCaption("Jeu !!", "Jeu");
 
// Coloration de la surface ecran 
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
 
 
pixel =SDL_CreateRGBSurface(SDL_HWSURFACE,1,1,32,0,0,0,0);
for(i1=0 ; i1 <= ecran->w ; i1++)
	{
        position.x = i1 ;
        for(j1=0 ; j1 <= ecran->h ; j1++)
	    {
            degrade=(i1+j1)*255/(ecran->h+ecran->w-2); // ici on calcule la couleur pour chaque pixel ;)
            SDL_FillRect(pixel,0,SDL_MapRGB(ecran->format,degrade,0,0));
            position.y = j1 ;
	    SDL_BlitSurface(pixel,NULL,ecran,&position);
	    }
	}
 
 
 
SDL_FreeSurface(pixel);
SDL_Flip(ecran); // Mise à jour de l'écran avec sa nouvelle couleur 
 
 
 
 
 
 
 
 
 
 
 
pause();
 
 
 
SDL_Quit(); 
 
 
}