www.pudn.com > sxdl.zip > cBoomBastic.h
#ifndef _CBOOMBASTIC_H_
#define _CBOOMBASTIC_H_
#include <sxdl.h>
#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