Tratando de eliminar las variables globales
This commit is contained in:
@@ -13,182 +13,196 @@
|
||||
#ifndef GAMEDIRECTOR_H
|
||||
#define GAMEDIRECTOR_H
|
||||
|
||||
//GameDirector
|
||||
// GameDirector
|
||||
class GameDirector
|
||||
{
|
||||
public:
|
||||
//Constructor
|
||||
// Constructor
|
||||
GameDirector();
|
||||
|
||||
//Iniciador
|
||||
// Destructor
|
||||
~GameDirector();
|
||||
|
||||
// Iniciador
|
||||
void init();
|
||||
|
||||
//Hace una pausa de milisegundos
|
||||
// Hace una pausa de milisegundos
|
||||
void sleep(Uint16 time);
|
||||
|
||||
//Establece el valor de la variable
|
||||
// Establece el valor de la variable
|
||||
void setScore(Uint32 score);
|
||||
|
||||
//Establece el valor de la variable
|
||||
// Establece el valor de la variable
|
||||
void setHiScore(Uint32 score);
|
||||
|
||||
//Actualiza el valor de HiScore en caso necesario
|
||||
// Actualiza el valor de HiScore en caso necesario
|
||||
void updateHiScore();
|
||||
|
||||
//Transforma un valor numérico en una cadena de 6 cifras
|
||||
// Transforma un valor numérico en una cadena de 6 cifras
|
||||
std::string updateScoreText(Uint32 num);
|
||||
|
||||
//Pinta el marcador en pantalla usando un objeto texto
|
||||
// Pinta el marcador en pantalla usando un objeto texto
|
||||
void renderScoreBoard(Text &text);
|
||||
|
||||
//Mueve todos los globos activos
|
||||
// Mueve todos los globos activos
|
||||
void moveBalloons();
|
||||
|
||||
//Pinta en pantalla todos los globos activos
|
||||
// Pinta en pantalla todos los globos activos
|
||||
void renderBalloons();
|
||||
|
||||
//Devuelve el primer indice no activo del vector de globos
|
||||
// Devuelve el primer indice no activo del vector de globos
|
||||
Uint8 getBallonFreeIndex();
|
||||
|
||||
//Crea un globo nuevo en el vector de globos
|
||||
// Crea un globo nuevo en el vector de globos
|
||||
Uint8 createNewBalloon(int x, int y, Uint8 kind, float velx, Uint16 stoppedtimer);
|
||||
|
||||
//Establece a cero todos los valores del vector de objetos globo
|
||||
// Establece a cero todos los valores del vector de objetos globo
|
||||
void resetBalloons();
|
||||
|
||||
//Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
||||
// Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
||||
void popBalloon(Uint8 index);
|
||||
|
||||
//Detiene todos los globos
|
||||
// Detiene todos los globos
|
||||
void stopAllBalloons();
|
||||
|
||||
//Pone en marcha todos los globos
|
||||
// Pone en marcha todos los globos
|
||||
void startAllBalloons();
|
||||
|
||||
//Obtiene el numero de globos activos
|
||||
// Obtiene el numero de globos activos
|
||||
Uint8 countBalloons();
|
||||
|
||||
//Comprueba la colisión entre el jugador y los globos activos
|
||||
// Comprueba la colisión entre el jugador y los globos activos
|
||||
bool checkPlayerBallonCollision();
|
||||
|
||||
//Comprueba y procesa la colisión entre las balas y los globos
|
||||
// Comprueba y procesa la colisión entre las balas y los globos
|
||||
void processBulletBallonCollision();
|
||||
|
||||
//Mueve las balas activas
|
||||
// Mueve las balas activas
|
||||
void moveBullets();
|
||||
|
||||
//Pinta las balas activas
|
||||
// Pinta las balas activas
|
||||
void renderBullets();
|
||||
|
||||
//Devuelve el primer indice no activo del vector de balas
|
||||
// Devuelve el primer indice no activo del vector de balas
|
||||
Uint8 getBulletFreeIndex();
|
||||
|
||||
//Establece a cero todos los valores del vector de objetos bala
|
||||
// Establece a cero todos los valores del vector de objetos bala
|
||||
void resetBullets();
|
||||
|
||||
//Crea un objeto bala
|
||||
// Crea un objeto bala
|
||||
void createBullet(int x, int y, Uint8 kind);
|
||||
|
||||
//Calcula y establece el valor de amenaza en funcion de los globos activos
|
||||
// Calcula y establece el valor de amenaza en funcion de los globos activos
|
||||
void calculateMenaceLevel();
|
||||
|
||||
//Obtiene el valor de la variable
|
||||
// Obtiene el valor de la variable
|
||||
Uint8 getMenaceLevel();
|
||||
|
||||
//Gestiona el nivel de amenaza
|
||||
// Gestiona el nivel de amenaza
|
||||
void checkMenaceLevel();
|
||||
|
||||
//Gestiona la entrada de teclado y mando durante el juego
|
||||
// Gestiona la entrada de teclado y mando durante el juego
|
||||
void checkGameInput();
|
||||
|
||||
//Gestiona la entrada de teclado y mando durante el menu
|
||||
void checkMenuInput(Menu* menu);
|
||||
// Gestiona la entrada de teclado y mando durante el menu
|
||||
void checkMenuInput(Menu *menu);
|
||||
|
||||
//Obtiene el valor de la variable
|
||||
// Obtiene el valor de la variable
|
||||
Uint8 getGameStatus();
|
||||
|
||||
//Establece el valor de la variable
|
||||
// Establece el valor de la variable
|
||||
void setGameStatus(Uint8 status);
|
||||
|
||||
//Pinta una transición en pantalla
|
||||
// Pinta una transición en pantalla
|
||||
void renderTransition(Uint8 index);
|
||||
|
||||
//Pinta el texto GetReady en pantalla
|
||||
// Pinta el texto GetReady en pantalla
|
||||
void renderGetReady();
|
||||
|
||||
//Bucle para el titulo del juego
|
||||
// Bucle para el titulo del juego
|
||||
void runTitle();
|
||||
|
||||
//Bucle para el juego
|
||||
// Bucle para el juego
|
||||
void runGame();
|
||||
|
||||
//Bucle para el menu de pausa del juego
|
||||
// Bucle para el menu de pausa del juego
|
||||
void runPausedGame();
|
||||
|
||||
private:
|
||||
//Manejador de eventos
|
||||
// Objetos con la música del juego
|
||||
Mix_Music *gTitleMusic = NULL;
|
||||
Mix_Music *gPlayingMusic = NULL;
|
||||
|
||||
// Objetos con los efectos de sonido del juego
|
||||
Mix_Chunk *gPopBalloonFX = NULL;
|
||||
Mix_Chunk *gBulletFX = NULL;
|
||||
|
||||
// Manejador para el mando 1
|
||||
SDL_Joystick *gGameController = NULL;
|
||||
|
||||
// Manejador de eventos
|
||||
SDL_Event eventHandler;
|
||||
|
||||
//El jugador
|
||||
// El jugador
|
||||
Player player;
|
||||
|
||||
//Vector con los objetos globo
|
||||
// Vector con los objetos globo
|
||||
Balloon balloon[50];
|
||||
#ifdef TEST
|
||||
Balloon balloonTest;
|
||||
Bullet bulletTest;
|
||||
#endif
|
||||
|
||||
//Vector con los objetos bala
|
||||
// Vector con los objetos bala
|
||||
Bullet bullet[50];
|
||||
|
||||
//Fondo del juego
|
||||
// Fondo del juego
|
||||
Background gameBackground;
|
||||
|
||||
//Fondo de la pantalla de titulo
|
||||
// Fondo de la pantalla de titulo
|
||||
Background titleBackground;
|
||||
|
||||
//Texto blanco
|
||||
// Texto blanco
|
||||
Text whiteText;
|
||||
|
||||
//Texto negro
|
||||
// Texto negro
|
||||
Text blackText;
|
||||
|
||||
//Menu de la pantalla de título
|
||||
// Menu de la pantalla de título
|
||||
Menu menuTitle;
|
||||
|
||||
//Menú de la pantalla de pausa
|
||||
// Menú de la pantalla de pausa
|
||||
Menu menuPause;
|
||||
|
||||
//Indicador para el bucle principal
|
||||
// Indicador para el bucle principal
|
||||
Uint8 mGameStatus;
|
||||
|
||||
//Puntuación actual y puntuación máxima
|
||||
// Puntuación actual y puntuación máxima
|
||||
Uint32 mScore;
|
||||
Uint32 mHiScore;
|
||||
|
||||
//Cadena de texto con la puntuación actual y la puntuación máxima de 6 cifras
|
||||
// Cadena de texto con la puntuación actual y la puntuación máxima de 6 cifras
|
||||
std::string mScoreText;
|
||||
std::string mHiScoreText;
|
||||
|
||||
//Número máximo de globos y balas que puede almacenar el vector
|
||||
// Número máximo de globos y balas que puede almacenar el vector
|
||||
Uint8 mMaxBalloons;
|
||||
Uint8 mMaxBullets;
|
||||
|
||||
//Contador de ticks para ajustar la velocidad del juego
|
||||
// Contador de ticks para ajustar la velocidad del juego
|
||||
Uint32 mOldTicks;
|
||||
|
||||
//Velocidad a la que se repite el bucle de juego
|
||||
// Velocidad a la que se repite el bucle de juego
|
||||
Uint8 mGameSpeed;
|
||||
|
||||
//Nivel de amenaza actual
|
||||
// Nivel de amenaza actual
|
||||
Uint8 mMenaceLevel;
|
||||
|
||||
//Umbral del nivel de amenaza. Si el nivel de amenaza cae por debajo del umbral,
|
||||
//se generan más globos. Si el umbral aumenta, aumenta el numero de globos
|
||||
// Umbral del nivel de amenaza. Si el nivel de amenaza cae por debajo del umbral,
|
||||
// se generan más globos. Si el umbral aumenta, aumenta el numero de globos
|
||||
Uint8 mMenaceLevelThreshold;
|
||||
|
||||
//Indica si ha de aparecer el texto de GetReady en pantalla
|
||||
// Indica si ha de aparecer el texto de GetReady en pantalla
|
||||
bool mGetReady;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user