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