#if !defined(AFX_SPRITES_H__A2954252_C9A2_11D1_AE92_000000000000__INCLUDED_)
#define AFX_SPRITES_H__A2954252_C9A2_11D1_AE92_000000000000__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif
#define FrameAbsVelocity(v) (v)
class CSprite
{
public:
double m_x, m_y;
int m_cx, m_cy;
double m_vx, m_vy;
int m_nFrame;
int m_xImage, m_yImage;
int m_nFramesMax, m_nFramesAcross;
DWORD m_dwFlag;
IDirectDrawSurface7 *m_lpSurface;
CSprite();
CSprite(IDirectDrawSurface7 *lpSurface, int xImage, int yImage, int cx, int cy, int nFramesMax, int nFramesAcross = -1);
CSprite(CSprite&);
void NextFrame(void);
void Move(void);
void Draw();
};
class CPlayerSprite : public CSprite
{
public:
CPlayerSprite(double nVelocity);
CPlayerSprite(CPlayerSprite&);
public:
enum Direction
{
STOPPED = 0,
LEFT,
UP,
RIGHT,
DOWN
};
Direction m_nDirection, m_nNextDirection;
double m_nVelocity;
BOOL m_bAtGrid;
virtual void Move();
};
class CEnemySprite : public CSprite
{
public:
CEnemySprite();
CEnemySprite(CEnemySprite&);
virtual void Move();
};
#endif