12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #ifndef LEVEL_H_INCLUDED
- #define LEVEL_H_INCLUDED
- ///Modifié le: 15/10/2013
- ///Objet: afficher spawn et but
- ///à faire:
- #include "../Headers/transform.h"
- #include "../Headers/Point.h"
- #include <fstream>
- /*
- ===La classe Level===
- +Définition:
- La classe Level permet de créer un niveau de gravitation game. Il se caractérise par le
- numéro du niveau, le nom du niveau et un tableau de int.
- +Fonctions:
- -Constructeur standard:
- Permet d'instaurer tous les paramètres. Utilisez plutôt la fonction haveLevel.
- -setBloc:
- Permet de remplir une case du niveau. Utiliser pour cela les define.
- Arguments: Deux entiers de position en pixels, plus le bloc à rajouter.
- -save:
- Utilisé lors de l'édition de niveau, ou pour sauvegarder une réussite (à faire).
- Permet de sauvegarder le niveau dans son intégralité.
- Arguments: deux entiers coordonnées spawn, deux entiers coordonnées but.
- -getBloc:
- Permet de connaitre la nature du bloc.
- Arguments: Deux entiers de position en pixels.
- -afficher:
- Permet d'afficher le niveau.
- -getNom:
- Permet de connaître le nom du niveau, lu dans le fichier.
- Renvoi: string contenant le nom du niveau.
- -lireParamètres:
- Permet à la balle de connaître tous les éléments de son environnement.
- Arguments de réference: int XetY spawn, floats resistance et gravité, int XetY but
- ===Le fonction haveLevel===
- +Définition:
- Permet de lire un fichier niveau. Pour cela, il faut un string contenant le nom du fichier
- et la fonction retourne un niveau. :-)
- Arguments: string nom de niveau
- Renvoi: un objet de type Level
- */
- #define NB_BLOC_HORIZON 32
- #define NB_BLOC_VERTI 24
- #define LG_BLOC 20
- #define RIEN 0
- #define BLOC 1
- #define BUMPER 2
- #define PLANCHE 3//à venir
- //Changer le NB_BLOCS et implémenter le constructeur à chaque ajout d'élément
- #define NB_BLOCS 3
- class Level
- {
- public:
- Level(std::string nom, int numero, int tableau[NB_BLOC_VERTI][NB_BLOC_HORIZON]=0);
- ~Level();
- //Fonctions d'édition
- void setBloc(int x, int y, int typeBloc);
- void save(int xSpawn, int ySpawn, int xBut, int yBut);
- //Fonctions de jeu
- int getBloc(int x, int y);
- void afficher(SDL_Surface *screen);
- std::string const getNom();
- //Fonction d'acquisition des paramètres
- void lireParametres(int &xSpawn,int &ySpawn,float &resistance,float &gravite,int &xBut,int &yBut);
- private:
- //Attributs standards:
- int m_tableau[NB_BLOC_VERTI][NB_BLOC_HORIZON];
- std::string const m_nom;
- int const m_numero;
- bool m_reussi;
- //Attributs SDL:
- SDL_Surface* m_titre;
- SDL_Surface* m_bloc[NB_BLOCS];//ATTENTION !!! Rien = 0 !
- SDL_Rect m_posBut;
- SDL_Surface* m_but;
- SDL_Rect m_posSpawn;
- SDL_Surface* m_spawn;
- };
- Level* haveLevel(std::string nomFichier);
- #endif // LEVEL_H_INCLUDED
|