www.pudn.com > sxdl.zip > cMap.h
#ifndef _CMAP_H_ #define _CMAP_H_ #include#define MAP_WIDTH 11 #define MAP_HEIGHT 9 #define TILE_SIZE 64.0f enum eTile { MAP_GROUND = 0, MAP_PALM = 1, MAP_HOUSE = 2, MAP_CRATER = 3 }; enum eLogicalTile { LMAP_GROUND = 0, LMAP_BLOCK, LMAP_ROCK, LMAP_BOMB, LMAP_FIRE, LMAP_BONUS }; class cMap : public CTileMap { public: cMap(int ResourceID); //Construit la map (place les palmiers et les maisons) void Build(); //Cree les rochers void CreateRocks(); //Renvoit la largeur de la map float GetMapWidth(); //Renvoit la hauteur de la map float GetMapHeight(); //Renvoit la position du coin en haut a gauche de la map Vector3 GetTopLeftCorner(); //Renvoit la position du coin en bas a droite de la map Vector3 GetBottomRightCorner(); //Place dans i et j la position du vecteur WorldPosition dans la map //(renvoit false si WorldPosition n'est pas dans la map) bool ConvertWorldToMap(Vector3 &WorldPosition, int *i, int *j); //Verifie si la tile de coordonnees (TileX, TileY) est dans la map bool IsInTheMap(int TileX, int TileY); //Verifie si Position est dans la map bool IsInTheMap(Vector3 &Position); //Verifie si la tile de coordonnees (TileX, TileY) est bloquante bool IsBlocking(int TileX, int TileY); //Renvoit true si la sprite de centre SpritePosition et de taille SpriteSize //est en collision avec la tile de coordonnees (TileX, TileY) bool SpriteCollidesWithTile(Vector3 &SpritePosition, float SpriteSize, int TileX, int TileY); }; #endif