www.pudn.com > sxdl.zip > cBoomBastic.h


#ifndef _CBOOMBASTIC_H_ 
#define _CBOOMBASTIC_H_ 
 
#include  
#include "cTank.h" 
#include "cMap.h" 
 
#ifdef WIN32 
#define CResource Resource 
#endif 
 
//IDs des differents types d'entites (map, personnages...) 
enum eFamilyIDs 
{ 
	TANK_ID = 1, 
	EXPLOSIVEDEVICE_ID, 
	BOMB_ID, 
	ROCKET_ID, 
	FIRE_ID, 
	BONUS_ID, 
	ROCK_ID, 
	PARTICLE_ID 
}; 
 
//IDs des ressources 
enum eResourceIDs 
{ 
	NULL_RESOURCE = 0, 
	TANK_TEXTURE, 
	SPRITE_TEXTURE, 
	MENU_BG, 
	GAME_BG,	 
	EXPLODE_SOUND, 
	CANNON_SOUND, 
	BONUS_SOUND, 
	REMAINS_MUSIC 
}; 
 
//IDs des sprites des entites 
enum eEntitySpriteIDs 
{ 
	BOMB_SPRITE = 0, 
	FIRE_SPRITE = 1, 
	ROCKET_SPRITE = 2, 
	BOMB_BONUS_SPRITE = 3, 
	EXPLO_BONUS_SPRITE = 4, 
	SPEED_BONUS_SPRITE = 5, 
	ROCKET_BONUS_SPRITE = 6, 
	ROCK_SPRITE = 7 
}; 
 
//IDs des particules 
enum eParticleIDs 
{ 
	ROCKET_PARTICLE = 0, 
	TANK_PARTICLE = 1, 
	BONUS_PARTICLE = 2, 
	EXPLO_PARTICLE = 3 
}; 
 
class cBoomBastic : public SxDL 
{ 
public: 
	cBoomBastic();	 
	 
	void OnStartup(); 
	void OnCreateGame(); 
	void OnNewGame(); 
	void OnEndGame(); 
	void OnAnimate(float ElapsedTime, float AbsoluteTime); 
	void OnMenuItemSelected(int ActionID, float ElapsedTime, float AbsoluteTime); 
	void OnRenderText(float ElapsedTime, float AbsoluteTime); 
	 
	//Sprites des entites du jeu a l'exception des tanks (Bombes, Explosions...) 
	CBasicSprite *EntitySprites[8]; 
	//Sprites des tanks 
	CBasicSprite *TankSprites[4][4]; 
	//Les differentes particules 
	CLerpingSprite *Particles[4]; 
	 
	//La carte dans laquelle evoluent les tanks 
	cMap *Tilemap; 
	//Les 4 tanks du jeu 
	cTank *Tanks[4]; 
	//True si le tank est encore vivant 
	bool IsStillAlive[4]; 
	 
private: 
	//Backgrounds du menu et du jeu 
	CBackground *m_MenuBackground; 
	CBackground *m_GameBackground; 
	//Les colliders du jeu 
	CCollider *m_TankRocketCollider; 
	CCollider *m_TankBonusCollider; 
 
	//Le nombre de joueurs humains dans la partie 
	int m_NbPlayers; 
	//Le score de chacun des tanks 
	int m_Score[4]; 
	//True si le jeu est lance 
	bool m_GameIsRunning; 
	//Le tank qui a gagne (NO_WINNER si aucun, DRAW si match nul) 
	int m_WinnerTank; 
	//Le temps ou le jeu a commence 
	float m_StartTime; 
	//Le temps restant avant la fin du jeu 
	float m_RemainingTime; 
	 
	//Les ressources du jeu (textures, sons, musiques...) 
	static CResource m_Resources[]; 
}; 
 
extern cBoomBastic g_BoomBastic; 
 
#endif