60 lines
1.3 KiB
Plaintext
60 lines
1.3 KiB
Plaintext
#ifndef _CBALL_HPP_
|
|
#define _CBALL_HPP_
|
|
|
|
/*** TrooperEngine DLL Header Files ***/
|
|
#include "TrooperEngine.hpp"
|
|
|
|
namespace Equipment {
|
|
class cBall : public VideoEngine::cSprite
|
|
{
|
|
public:
|
|
enum eBallState
|
|
{
|
|
OnCourt,
|
|
LeftOffCourt,
|
|
RightOffCourt,
|
|
Serve
|
|
};
|
|
|
|
cBall( const signed long int xpos = 0, const signed long int ypos = 0, const signed long int xarea = 0,
|
|
const signed long int yarea = 0, const unsigned long int warea = 0, const unsigned long int harea = 0,
|
|
VideoEngine::cImage** image = nullptr, VideoEngine::cCamera** camera = nullptr );
|
|
~cBall();
|
|
|
|
///Functions
|
|
void Move();
|
|
const bool isPaused();
|
|
void Pause();
|
|
|
|
void BounceX();
|
|
void BounceY();
|
|
|
|
void Reset( const int delay );
|
|
|
|
///Sets
|
|
void setSpeed( const float x = -10, const float y = -10 );
|
|
void setMaxSpeed( const float max = 10 );
|
|
void setMinSpeed( const float min = 5 );
|
|
|
|
///Gets
|
|
const MathEngine::Vector2 getSpeed() const;
|
|
const float getMaxSpeed() const;
|
|
const float getMinSpeed() const;
|
|
|
|
private:
|
|
|
|
|
|
private:
|
|
float m_maxSpeed;
|
|
float m_minSpeed;
|
|
|
|
bool m_boucedAllReady;// = false;
|
|
|
|
MathEngine::Vector2 m_speed;
|
|
|
|
eBallState m_ballState;
|
|
|
|
bool m_pause;// = false
|
|
};/// END CLASS DEFINITION cBall
|
|
}/// END NAMESPACE DEFINITION Equipment
|
|
#endif/// END IFNDEF _CBALL_HPP_ |