main.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <iostream>
  2. #include <SDL.h>
  3. #include <cstdlib>
  4. #include <ctime>
  5. #include "jeu.h"
  6. /** \brief Main de Mighty Liners
  7. * \last Init random
  8. * \next Importer pouvoirs
  9. *
  10. * \return entier : 0 si pas d'erreur, autre si problème
  11. *
  12. */
  13. int main ( int argc, char** argv )
  14. {
  15. /// [1] Démarrage
  16. // [1.1] Démarrages SDL
  17. if ( SDL_Init( SDL_INIT_VIDEO ) < 0)
  18. {
  19. std::cout << "Impossible d'initialiser la SDL: " << SDL_GetError() << std::endl;
  20. return 1;
  21. }
  22. // [1.2] Préparation de fermeture
  23. atexit(SDL_Quit);
  24. // [1.3] Para-fenêtre
  25. SDL_WM_SetCaption("Mighty Liners V2 - By Jovian", 0);
  26. // [1.4] Démarrage de l'aléatoire
  27. srand(time(0));
  28. /// [2] Préparation des composants
  29. // [2.0] Lecture des paramètres
  30. Config settings(readConfig());
  31. // [2.1] Préparation de la fenêtre
  32. Uint32 flags(SDL_HWSURFACE | SDL_DOUBLEBUF);
  33. if (settings.pleinEcran) flags |= SDL_FULLSCREEN;
  34. SDL_Surface* screen = SDL_SetVideoMode(settings.xSize*20, settings.ySize*20, 32, flags);
  35. if ( !screen )
  36. {
  37. std::cout << "Impossible de créer la fenêtre : " << SDL_GetError() << std::endl;
  38. return 1;
  39. }
  40. /// [3] Boucle principale
  41. int retour;
  42. retour = jeuMulti(screen, settings);
  43. /// [4] Destruction des composants
  44. SDL_FreeSurface(screen);
  45. std::cout << "Aucune erreur detectee." << std::endl;
  46. return retour;
  47. }