www.pudn.com > sxdl.zip > cTank.h
#ifndef _CTANK_H_ #define _CTANK_H_ #includeenum eDirection { LEFT_DIRECTION = 0, RIGHT_DIRECTION, UP_DIRECTION, DOWN_DIRECTION }; class cTank : public CEntity { public: //Cree un tank avec les sprites TankSprites, a la position (TankX, TankY). Son ID sera TankID. //Si player == 1 ou 2, il sera dirige par le 1er ou le second joueur, sinon il ne recevera pas l'input cTank(CBasicSprite *TankSprites[4], int TankX, int TankY, int TankID, int Player); virtual ~cTank() {} //Place le tank à sa nouvelle position virtual bool OnAnimate(float ElapsedTime, float AbsoluteTime); //Lors d'une collision void OnCollide(CEntity *CollidingEntity); //Deplace le tank dans la direction donnee void MoveTank(int Direction); //Pose une bombe void DropBomb(); //Tire un missile void ShootRocket(); //Fonction qui gere l'input void OnUserInput(CInput::VirtualKeys VirtualKey, float ElapsedTime, float Value); //Lorsque le tank est detruit void OnDying(); //Le nombre de bombes que le tank peut encore poser int NbBombs; //Nombre de missiles restants int NbRockets; protected: //ID unique du tank int m_TankID; private: //Effectue les tests de collision avec la map et modifie la position du tank si necessaire void MapCollisionAndResponse(); //Sprites du tank CBasicSprite *m_TankSprites[4]; //Vitesse du tank en pixels/seconde float m_Speed; //La puissance des bombes du tank int m_BombPower; //Le nombre des differents bonus ramasses int m_NbPickedUpBonus[4]; //La direction de deplacement du tank suivant X et Y Vector3 m_MovementDirection; //L'orientation du tank (vers la gauche, la droite, le haut ou la bas) int m_TankDirection; //L'etat des chenilles (utile pour donner l'impression que le tank roule) int m_WheelState; //Le temps ou le dernier missile a ete tire float m_TimeLastRocketHasBeenShot; //Joueur qui dirige le tank int m_Player; }; #endif