Niveau.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef NIVEAU_H
  2. #define NIVEAU_H
  3. #include <iostream>
  4. #include <SDL/SDL.h>
  5. #undef main
  6. #include <vector>
  7. #include "Flux/SpriteLoader.h"
  8. ///Faire une fonction set pour modif tableau et image
  9. ///Gérer les mvts de caisse
  10. ///Améliorer les collisions : portes
  11. struct Perso
  12. {
  13. Uint16 x;
  14. Uint16 y;
  15. SDL_Surface* skin;
  16. };
  17. class Niveau
  18. {
  19. public:
  20. Niveau(SpriteLoader* spriteGet);
  21. ~Niveau();
  22. void majLevel(char newTerrain[18][24]);
  23. void afficher(SDL_Surface* screen);
  24. bool test(Uint16 y, Uint16 x, short dirX, short dirY);
  25. char getCase(Uint16 y, Uint16 x);
  26. void setCase(Uint16 y, Uint16 x, char bloc);
  27. bool deplacer(char ID, char ordre);
  28. void updateBoutons();
  29. bool suisJeArrive(char ID);
  30. protected:
  31. SDL_Surface* m_terrain;
  32. SpriteLoader* m_spriteGet;
  33. char m_tabl[18][24];//y;x
  34. Perso m_perso[2];
  35. std::map<char, std::string> m_pass;
  36. SDL_Rect m_blitPos;
  37. bool m_caisses[18][24];//y;x
  38. std::map<char, std::pair<bool, std::vector<int>[2] > > m_gates;
  39. Uint32 tabColor[26];
  40. };
  41. #endif // NIVEAU_H