Je suis une novice en programmation de jeux vidéo, pour commencer, j’ai voulu d’abord connaître les bases d’une programmation de jeux vidéo à 2 dimensions, et pour entamer ceci, j’ai installé le Dev-C++ (je souligne que je travaille sous Windows xp), ensuite j’ai installé la bibliothèque SDL (la SDL était sous forme d’un fichier qui avait le nom suivant SDL-devel-1.2.9- mingw32.tar.gz) sous Dev-C++ en suivant ces étapes :

1. j’ai décompressé cette archive (SDL) dans le dossier de Dev-C++ (par défaut: C:\Dev-Cpp).
2. j’ai lancé Dev-C++, je suis allé dans "Outils", "Options du Compilateur", onglet "Répertoire".
3. pour Répertoire bibliothèques", j’ai ajouté le chemin des fichiers .lib de SDL (par défaut: C:\Dev-Cpp\SDL-1.2.9\lib).
4. pour "Répertoire C .h", j’ai ajouté le chemin des fichiers .h de SDL (par défaut: C:\Dev-Cpp\SDL-1.2.9\include).
5. pour "Répertoire C++ .h", j’ai ajouté la même chose qu'à l'étape précédente (par défaut: C:\Dev-Cpp\SDL-1.2.9\include).
6. j’ai validé le tout en cliquant sur OK : c'est installé.

Après, j’ai commencé la création d’un projet SDL, en suivant ces étapes :

1. j’ai créé normalement un projet vide ("Fichier", "Nouveau", "Projet", "Empty Project"), je lui donné un nom et sauvegardé dans son propre répertoire.
2. je suis allé dans les options du projet ("Projet", "Options du Projet").
3. dans l'onglet "Général", j’ai choisi "Win32 GUI".
4. dans l'onglet "Paramètres", zone "Editeur de liens", j’ai ajouté "-lmingw32 -lSDLmain -lSDL".
5. j’ai validé le tout en cliquant sur OK.
6. j’ai copié le runtime SDL (SDL.DLL, que l'on trouve dans le dossier bin de la SDL, par défaut: C:\Dev-Cpp\SDL-1.2.9\bin) dans le dossier de mon projet.
7. c’est prêt.

J’ai voulu ensuite exécuter un exemple d’un programme que le voici.


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
#include <SDL.h>
#include <iostream>
 
 
const int WIDTH=640;
const int HEIGHT=480;
 
int main(int argc, char **argv)
{
    //Déclaration des variables
    SDL_Event event;
    SDL_Surface *screen;
    int done = 0;
 
    //Initialisation de SDL
    if(SDL_Init(SDL_INIT_VIDEO)!=0)
    {
        std::cerr << "Probleme pour initialiser SDL" << SDL_GetError() << std::endl;
        return 1;
    }
 
    //Mettre un titre à la fenêtre
    SDL_WM_SetCaption("Programme SDL de base", NULL);
    //Ouvrerture d'une surface pour l'affichage de la fenêtre
    screen = SDL_SetVideoMode(WIDTH,HEIGHT, 32,
                              SDL_DOUBLEBUF | SDL_HWSURFACE);
    if(screen==NULL)
        done = 1;
    //Boucle generale
    while(!done)
    {
        //Traiter les évènements
        while(SDL_PollEvent(&event))
        {
            switch(event.type)
            {
                //Si on veut quitter, done=1 suffira
                case SDL_QUIT:
                done=1;
                break;
                //Si on vient de relacher une touche de clavier
                case SDL_KEYUP:
                //Et si c'est la lettre q
		/*
		 Attention, ceci ne fonctionne pas avec tous les Systèmes d'exploitation et tous les claviers
		 Pour le rendre portable, il faudrait passer par les Unicodes, mais cela sort du cadre de ce tutoriel
		 d'introduction.
		 Si vous voulez utiliser la lettre 'q' pour quitter et ceci ne fonctionne pas, alors c'est la lettre
		 'a' qu'il faudra utiliser (c'est la place de la lettre 'q' sur le clavier QWERTY).
		 Si vous voulez vraiment la lettre 'q', remplacer SDLK_q par SDLK_a, cela devrait faire l'affaire
		 */
                if(event.key.keysym.sym==SDLK_q)
                    //On met done a 1 pour quitter
                    done=1;
                break;
                //Sinon on ne fait rien
                default:
                break;
            }
        }
    }
 
    SDL_Quit();
    return 0;
}
Le but de ce programme est d’ouvrir une fenêtre et de la fermer après, et mon problème réside dans le fait que je ne sais pas comment procéder pour écrire ce programme dans le Dev-C++, et comment le compiler et l’exécuter après. j’espère que l’énoncé de mon problème est aussi clair que possible, parce que je compte énormément sur votre aide pour le résoudre. .

Merci d’avance pour votre aide