#ifndef __LOGIC_H__
#define __LOGIC_H__
#include "Sprites.h"
#define XSCREEN 640
#define YSCREEN 480
#define BLOCKSIZE 10
#define FULLTOP 0
#define MIDTOP 480
#define XBLOCKS (XSCREEN / BLOCKSIZE)
#define YBLOCKS (YSCREEN / BLOCKSIZE - 2)
#define GRID_EMPTY 0
#define GRID_FULL 1
#define GRID_MID 2
#define GRID_FILLING 3
extern BYTE Grid[YBLOCKS][XBLOCKS];
#define PLAYERX 0
#define PLAYERY 970
#define PLAYERFRAMES 1
#define ENEMYX 0
#define ENEMYY 960
#define ENEMYFRAMES 8
#define TEXTX 0
#define TEXTY 980
#define TEXTCX 16
#define TEXTCY 30
void FillGrid();
void InitLevel();
void InitPlayer();
void DeleteLevel();
void DeletePlayer();
void ResetGame();
void UpdateGameState();
enum EGameState
{
Initialising,
Intro,
LevelScreen,
InGame,
InGamePaused,
Quitting
};
extern EGameState g_nGameState;
extern DWORD g_dwLevelScreenStartTime;
#define LEVELSCREEN_TIME 1500
void ChangeToGameState(EGameState nNewState);
extern int g_nBalls;
extern CEnemySprite **g_spriteBalls;
extern int g_nLevel;
extern int g_nLives;
extern int g_nPercentFilled;
extern BOOL g_bHasDied;
extern double g_nPlayerVelocity;
extern CPlayerSprite *g_spritePlayer;
extern IDirectDrawSurface7 *lpImages;
#endif