www.pudn.com > sxdl.zip > cMap.h
#ifndef _CMAP_H_
#define _CMAP_H_
#include <sxdl.h>
#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 &amt;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 &amt;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 &amt;SpritePosition, float SpriteSize, int TileX, int TileY);
};
#endif