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


#ifndef Bounce_Included
#define Bounce_Included

#include "sxdl.h"

class CBall : public CEntity
{
public:
CBall ( CBasicSprite * _Sprite , int x , int y , int cx , int cy ) ;
virtual ~CBall ( void ) { } ;
virtual void OnCollide ( CEntity * /* CollidingEntity */ ) ;
CBasicSprite * Sprite ;
float SizeRatio ;
Vector3 InitialScale ;
} ;

class CBrick : public CEntity
{
public:
CBrick ( int Hits , CBasicSprite * Sprite , int x , int y , int cx , int cy ) ;
virtual ~CBrick ( void ) { } ;
virtual void OnCollide ( CEntity * CollidingEntity ) ;
virtual void OnDying ( ) ;
} ;

class CPad : public CEntity
{
public:
CPad ( int x , int y , int cx , int cy ) ;
virtual ~CPad ( void ) { } ;
virtual void OnUserInput ( CInput::VirtualKeys VirtualKey , float ElapsedTime , float Value ) ;
void OnUpDown ( float ElapsedTime , float Value ) ;
void OnLeftRight ( float ElapsedTime , float Value ) ;
} ;

class CWall : public CEntity
{
public:
CWall ( int x , int y , int cx , int cy ) ;
virtual ~CWall ( void ) { } ;
virtual void OnCollide ( CEntity * CollidingEntity ) ;
Vector3 Normal ;
} ;

class Game : public SxDL
{
public:
Game ( void ) { } ;
virtual ~Game ( void ) { } ;

virtual void OnStartup ( void ) ;
virtual void OnCreateGame ( void ) ;
virtual void OnNewGame ( void ) ;
virtual void OnEndGame ( void ) ;
virtual void OnNewLevel ( void ) ;
virtual void OnRenderText ( float ElapsedTime , float AbsoluteTime ) ;
virtual void OnTimer ( int TimerId ) ;
inline void OnGameOver ( void ) ;

// Timers Ids
enum { StartGame = 1 , CreateNewBall = 2 } ;
// Resources used by this game
enum ResourceIds
{
Null = 0 ,
// Sounds
NewLevel = 10 ,
WallHit = 11 ,
BrickHit = 12 ,
NewBall = 13 ,
GameOver = 14 ,
// Music
MidiMusic = 21 ,
// Textures
Flare = 32 ,
Brick = 33 ,
Anna1 = 34 ,
Anna2 = 35 ,
} ;

enum FamilyIds
{
Walls = 10 ,
Bricks = 20 ,
Balls = 30 ,
Pads = 40 ,
Ground = 50
} ;
CCollider * Collider_BallsWalls ;
CCollider * Collider_BallsBalls ;
CCollider * Collider_BallsBricks ;
CCollider * Collider_BallsGround ;
CCollider * Collider_BallsPads ;
CCollider * Collider_WallsPads ;
CCollider * Collider_BricksGround ;
CCollider * Collider_BricksPads ;

static Resource Resources [ ] ;
static CBasicSprite * Sprites [ 12 ] ;
static CBasicSprite * BrickSprites [ 12 ] ;

CPad * Pad ;
int BricksInGame ;
void CreateBricks ( void ) ;
void BrickDying ( void ) ;
void CreateBall ( void ) ;
int Score ;
int Level ;

CFont * Font ;
CBackground * Backdrop ;
} ;

#endif