Pour cet exercice, vous pourrez vous appuyer sur:
- C++: https://www.w3schools.com/cpp/
- SDL2: https://fr.wikibooks.org/wiki/Programmation_avec_la_SDL/Initialisation_de_la_SDL
Éclatez votre code en deux fichiers:
- Fichier
exercice1.hpp
pour les définitions:- La classe avec ses membres et méthodes sans code
- Fichier
exercice1.cpp
pour:- Le code des méthodes de la classe
MainSDLWindow
, ex:int MainSDLWindow::Init(...) { // Code ici }
- La fonction
main()
, il faudra créer une fonctionmain()
dans votre code pour le complier et le tester:#include "exercice1.hpp" int main(void) { MainSDLWindow main_window; main_window.Init(...); }
- Le code des méthodes de la classe
Rappels:
- Compiler:
g++ exercice1.cpp -lSDL2 -o exercice1
- Tester:
./exercice1
La classe doit permettre de:
- Créer une fenêtre SDL avec un fond noir
- Quitter la fenêtre SDL quand on clique sur la croix (ou
Alt+F4
)
La classe doit comporter:
- Les méthodes suivantes:
public
:MainSDLWindow(void)
: constructeur- met les membres
window
etrenderer
à la valeurNULL
- met les membres
~MainSDLWindow(void)
: destructeur- détruit proprement les objects
window
etrenderer
- quitte la SDL
- détruit proprement les objects
int Init(...)
: méthode- prend en argument le nom de la fenêtre, sa largeur et sa hauteur
- créé les objets
window
etrenderer
- si erreur SDL durnat la création des objets SDL:
- afficher des messages d’erreur pour avertir l’utilisateur
- retourner EXIT_FAILURE
- affecte le nom à la fenêtre
- dessine un fond noir dans le
renderer
- si aucune erreur, retourner EXIT_SUCCESS
GetRenderer(void)
: méthode- Retourne le pointeur sur l’objet
renderer
- Retourne le pointeur sur l’objet
- Les membres suivants:
private
:window
de typeSDL_Window *
(pointeur)renderer
de typeSDL_Renderer *
(pointeur)