Redistribución de los graficos de fondo en varios png
|
Before Width: | Height: | Size: 14 KiB |
BIN
data/gfx/game_buildings.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
data/gfx/game_clouds.png
Normal file
|
After Width: | Height: | Size: 901 B |
BIN
data/gfx/game_grass.png
Normal file
|
After Width: | Height: | Size: 468 B |
BIN
data/gfx/game_power_meter.png
Normal file
|
After Width: | Height: | Size: 270 B |
BIN
data/gfx/game_sky_colors.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 795 B After Width: | Height: | Size: 438 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -198,10 +198,17 @@ bool Director::setFileList()
|
|||||||
asset->add("data/gfx/balloon4.png", t_bitmap);
|
asset->add("data/gfx/balloon4.png", t_bitmap);
|
||||||
asset->add("data/gfx/balloon4.ani", t_data);
|
asset->add("data/gfx/balloon4.ani", t_data);
|
||||||
asset->add("data/gfx/bullet.png", t_bitmap);
|
asset->add("data/gfx/bullet.png", t_bitmap);
|
||||||
asset->add("data/gfx/game_bg.png", t_bitmap);
|
|
||||||
|
asset->add("data/gfx/game_buildings.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/game_clouds.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/game_grass.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/game_power_meter.png", t_bitmap);
|
||||||
|
asset->add("data/gfx/game_sky_colors.png", t_bitmap);
|
||||||
asset->add("data/gfx/game_text.png", t_bitmap);
|
asset->add("data/gfx/game_text.png", t_bitmap);
|
||||||
|
|
||||||
asset->add("data/gfx/intro.png", t_bitmap);
|
asset->add("data/gfx/intro.png", t_bitmap);
|
||||||
asset->add("data/gfx/logo.png", t_bitmap);
|
asset->add("data/gfx/logo.png", t_bitmap);
|
||||||
|
|
||||||
asset->add("data/gfx/items.png", t_bitmap);
|
asset->add("data/gfx/items.png", t_bitmap);
|
||||||
asset->add("data/gfx/item_points1_disk.png", t_bitmap);
|
asset->add("data/gfx/item_points1_disk.png", t_bitmap);
|
||||||
asset->add("data/gfx/item_points1_disk.ani", t_data);
|
asset->add("data/gfx/item_points1_disk.ani", t_data);
|
||||||
|
|||||||
753
source/game.cpp
143
source/game.h
@@ -36,12 +36,6 @@
|
|||||||
#define NUMBER_OF_ENEMY_FORMATIONS 100
|
#define NUMBER_OF_ENEMY_FORMATIONS 100
|
||||||
#define MAX_NUMBER_OF_ENEMIES_IN_A_FORMATION 50
|
#define MAX_NUMBER_OF_ENEMIES_IN_A_FORMATION 50
|
||||||
|
|
||||||
// Cantidad de elementos del vector de SmartSprites
|
|
||||||
#define MAX_SMART_SPRITES 10
|
|
||||||
|
|
||||||
// Cantidad máxima posible de balas
|
|
||||||
#define MAX_BULLETS 50
|
|
||||||
|
|
||||||
// Porcentaje de aparición de los objetos
|
// Porcentaje de aparición de los objetos
|
||||||
#define ITEM_POINTS_1_DISK_ODDS 10
|
#define ITEM_POINTS_1_DISK_ODDS 10
|
||||||
#define ITEM_POINTS_2_GAVINA_ODDS 6
|
#define ITEM_POINTS_2_GAVINA_ODDS 6
|
||||||
@@ -51,9 +45,6 @@
|
|||||||
#define ITEM_POWER_BALL_ODDS 0
|
#define ITEM_POWER_BALL_ODDS 0
|
||||||
#define ITEM_COFFEE_MACHINE_ODDS 4
|
#define ITEM_COFFEE_MACHINE_ODDS 4
|
||||||
|
|
||||||
// Cantidad de objetos simultaneos
|
|
||||||
#define MAX_ITEMS 10
|
|
||||||
|
|
||||||
// Valores para las variables asociadas a los objetos
|
// Valores para las variables asociadas a los objetos
|
||||||
#define TIME_STOPPED_COUNTER 300
|
#define TIME_STOPPED_COUNTER 300
|
||||||
|
|
||||||
@@ -121,85 +112,84 @@ private:
|
|||||||
demoKeys_t dataFile[TOTAL_DEMO_DATA]; // Datos del fichero con los movimientos para la demo
|
demoKeys_t dataFile[TOTAL_DEMO_DATA]; // Datos del fichero con los movimientos para la demo
|
||||||
};
|
};
|
||||||
|
|
||||||
struct debug_t
|
// Objetos
|
||||||
{
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
bool enabled; // Indica si se va a mostrar la información de debug
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||||
Uint8 enemySet; // Escoge el set enemigo a generar
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
Uint8 gradR, gradG, gradB; // Colores RGB para modificar el color del gradiente de fondo
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
float hudW, hudH; // Multiplica el tamaño del hud de debug;
|
Input *input; // Manejador de entrada
|
||||||
};
|
|
||||||
|
|
||||||
SDL_Renderer *mRenderer; // El renderizador de la ventana
|
|
||||||
Screen *mScreen; // Objeto encargado de dibujar en pantalla
|
|
||||||
Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos
|
|
||||||
Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas
|
|
||||||
Input *mInput; // Manejador de entrada
|
|
||||||
|
|
||||||
int mNumPlayers; // Numero de jugadores
|
|
||||||
std::vector<Player *> players; // Vector con los jugadores
|
std::vector<Player *> players; // Vector con los jugadores
|
||||||
std::vector<Balloon *> balloons; // Vector con los globos
|
std::vector<Balloon *> balloons; // Vector con los globos
|
||||||
std::vector<Bullet *> bullets; // Vector con las balas
|
std::vector<Bullet *> bullets; // Vector con las balas
|
||||||
std::vector<Item *> items; // Vector con los items
|
std::vector<Item *> items; // Vector con los items
|
||||||
std::vector<SmartSprite *> smartSprites; // Vector con los smartsprites
|
std::vector<SmartSprite *> smartSprites; // Vector con los smartsprites
|
||||||
|
|
||||||
LTexture *balloon1Texture; // Textura para los enemigos
|
LTexture *balloon1Texture; // Textura para los globos
|
||||||
LTexture *balloon2Texture; // Textura para los enemigos
|
LTexture *balloon2Texture; // Textura para los globos
|
||||||
LTexture *balloon3Texture; // Textura para los enemigos
|
LTexture *balloon3Texture; // Textura para los globos
|
||||||
LTexture *balloon4Texture; // Textura para los enemigos
|
LTexture *balloon4Texture; // Textura para los globos
|
||||||
LTexture *mTextureBullet; // Textura para las balas
|
LTexture *bulletTexture; // Textura para las balas
|
||||||
LTexture *mTextureGameBG; // Textura para el fondo del juego
|
|
||||||
LTexture *mTextureGameText; // Textura para los sprites con textos
|
LTexture *gameBuildingsTexture; // Textura con los edificios de fondo
|
||||||
LTexture *mTextureItems; // Textura para los items
|
LTexture *gameCloudsTexture; // Textura con las nubes de fondo
|
||||||
|
LTexture *gameGrassTexture; // Textura con la hierba del suelo
|
||||||
|
LTexture *gamePowerMeterTexture; // Textura con el marcador de poder de la fase
|
||||||
|
LTexture *gameSkyColorsTexture; // Textura con los diferentes colores de fondo del juego
|
||||||
|
LTexture *gameTextTexture; // Textura para los sprites con textos
|
||||||
|
|
||||||
|
LTexture *itemTexture; // Textura para los items
|
||||||
|
|
||||||
std::vector<std::string> *balloon1Animation; // Información para la animación de los globos
|
std::vector<std::string> *balloon1Animation; // Información para la animación de los globos
|
||||||
std::vector<std::string> *balloon2Animation; // Información para la animación de los globos
|
std::vector<std::string> *balloon2Animation; // Información para la animación de los globos
|
||||||
std::vector<std::string> *balloon3Animation; // Información para la animación de los globos
|
std::vector<std::string> *balloon3Animation; // Información para la animación de los globos
|
||||||
std::vector<std::string> *balloon4Animation; // Información para la animación de los globos
|
std::vector<std::string> *balloon4Animation; // Información para la animación de los globos
|
||||||
|
|
||||||
Text *mText; // Fuente para los textos del juego
|
Text *text; // Fuente para los textos del juego
|
||||||
Text *mTextBig; // Fuente de texto grande
|
Text *textBig; // Fuente de texto grande
|
||||||
Text *mTextScoreBoard; // Fuente para el marcador del juego
|
Text *textScoreBoard; // Fuente para el marcador del juego
|
||||||
Text *mTextNokia2; // Otra fuente de texto para mesajes
|
Text *textNokia2; // Otra fuente de texto para mesajes
|
||||||
Text *mTextNokiaBig2; // Y la versión en grande
|
Text *textNokiaBig2; // Y la versión en grande
|
||||||
|
|
||||||
Menu *mMenuGameOver; // Menú de la pantalla de game over
|
Menu *gameOverMenu; // Menú de la pantalla de game over
|
||||||
Menu *mMenuPause; // Menú de la pantalla de pausa
|
Menu *pauseMenu; // Menú de la pantalla de pausa
|
||||||
|
|
||||||
Fade *mFade; // Objeto para renderizar fades
|
Fade *fade; // Objeto para renderizar fades
|
||||||
SDL_Event *mEventHandler; // Manejador de eventos
|
SDL_Event *eventHandler; // Manejador de eventos
|
||||||
|
|
||||||
MovingSprite *mClouds1a; // Sprite para las nubes superiores
|
MovingSprite *clouds1A; // Sprite para las nubes superiores
|
||||||
MovingSprite *mClouds1b; // Sprite para las nubes superiores
|
MovingSprite *clouds1B; // Sprite para las nubes superiores
|
||||||
MovingSprite *mClouds2a; // Sprite para las nubes inferiores
|
MovingSprite *clouds2A; // Sprite para las nubes inferiores
|
||||||
MovingSprite *mClouds2b; // Sprite para las nubes inferiores
|
MovingSprite *clouds2B; // Sprite para las nubes inferiores
|
||||||
SmartSprite *m1000Bitmap; // Sprite con el texto 1.000
|
SmartSprite *n1000Sprite; // Sprite con el texto 1.000
|
||||||
SmartSprite *m2500Bitmap; // Sprite con el texto 2.500
|
SmartSprite *n2500Sprite; // Sprite con el texto 2.500
|
||||||
SmartSprite *m5000Bitmap; // Sprite con el texto 5.000
|
SmartSprite *n5000Sprite; // Sprite con el texto 5.000
|
||||||
Sprite *mSpriteBackground; // Sprite con los graficos frontales del fondo
|
|
||||||
Sprite *mSpriteGetReady; // Sprite para el texto de GetReady del principio de la partida
|
|
||||||
Sprite *mSpriteGradient; // Sprite con los graficos del degradado de color de fondo
|
|
||||||
Sprite *mSpriteGrass; // Sprite para la hierba
|
|
||||||
Sprite *mSpritePowerMeter; // Sprite para el medidor de poder de la fase
|
|
||||||
Sprite *mSpriteScoreBoard; // Sprite para el fondo del marcador
|
|
||||||
|
|
||||||
JA_Sound mSoundBalloon; // Sonido para la explosión del globo
|
Sprite *buildingsSprite; // Sprite con los edificios de fondo
|
||||||
JA_Sound mSoundBullet; // Sonido para los disparos
|
Sprite *skyColorsSprite; // Sprite con los graficos del degradado de color de fondo
|
||||||
JA_Sound mSoundPlayerCollision; // Sonido para la colisión del jugador con un enemigo
|
Sprite *grassSprite; // Sprite para la hierba
|
||||||
JA_Sound mSoundHiScore; // Sonido para cuando se alcanza la máxima puntuación
|
Sprite *powerMeterSprite; // Sprite para el medidor de poder de la fase
|
||||||
JA_Sound mSoundItemDrop; // Sonido para cuando se genera un item
|
|
||||||
JA_Sound mSoundItemPickup; // Sonido para cuando se recoge un item
|
|
||||||
JA_Sound mSoundCoffeeOut; // Sonido para cuando el jugador pierde el café al recibir un impacto
|
|
||||||
JA_Sound mSoundStageChange; // Sonido para cuando se cambia de fase
|
|
||||||
JA_Sound mSoundBubble1; // Sonido para cuando el jugador muere
|
|
||||||
JA_Sound mSoundBubble2; // Sonido para cuando el jugador muere
|
|
||||||
JA_Sound mSoundBubble3; // Sonido para cuando el jugador muere
|
|
||||||
JA_Sound mSoundBubble4; // Sonido para cuando el jugador muere
|
|
||||||
JA_Sound mSoundClock; // Sonido para cuando se detiene el tiempo con el item reloj
|
|
||||||
JA_Sound mSoundPowerBall; // Sonido para cuando se explota una Power Ball
|
|
||||||
JA_Sound mSoundCollision; // Sonido para cuando la máquina de café toca el suelo
|
|
||||||
|
|
||||||
JA_Music mMusicPlaying; // Musica de fondo
|
JA_Sound balloonSound; // Sonido para la explosión del globo
|
||||||
|
JA_Sound bulletSound; // Sonido para los disparos
|
||||||
|
JA_Sound playerCollisionSound; // Sonido para la colisión del jugador con un enemigo
|
||||||
|
JA_Sound hiScoreSound; // Sonido para cuando se alcanza la máxima puntuación
|
||||||
|
JA_Sound itemDropSound; // Sonido para cuando se genera un item
|
||||||
|
JA_Sound itemPickUpSound; // Sonido para cuando se recoge un item
|
||||||
|
JA_Sound coffeeOutSound; // Sonido para cuando el jugador pierde el café al recibir un impacto
|
||||||
|
JA_Sound stageChangeSound; // Sonido para cuando se cambia de fase
|
||||||
|
JA_Sound bubble1Sound; // Sonido para cuando el jugador muere
|
||||||
|
JA_Sound bubble2Sound; // Sonido para cuando el jugador muere
|
||||||
|
JA_Sound bubble3Sound; // Sonido para cuando el jugador muere
|
||||||
|
JA_Sound bubble4Sound; // Sonido para cuando el jugador muere
|
||||||
|
JA_Sound clockSound; // Sonido para cuando se detiene el tiempo con el item reloj
|
||||||
|
JA_Sound powerBallSound; // Sonido para cuando se explota una Power Ball
|
||||||
|
JA_Sound coffeeMachineSound; // Sonido para cuando la máquina de café toca el suelo
|
||||||
|
|
||||||
|
JA_Music gameMusic; // Musica de fondo
|
||||||
|
|
||||||
|
// Variables
|
||||||
|
int mNumPlayers; // Numero de jugadores
|
||||||
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 mTicks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint8 mTicksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
|
|
||||||
@@ -219,7 +209,7 @@ private:
|
|||||||
Uint16 mTimeStoppedCounter; // Temporizador para llevar la cuenta del tiempo detenido
|
Uint16 mTimeStoppedCounter; // Temporizador para llevar la cuenta del tiempo detenido
|
||||||
Uint32 mCounter; // Contador para el juego
|
Uint32 mCounter; // Contador para el juego
|
||||||
Uint32 mScoreDataFile[TOTAL_SCORE_DATA]; // Datos del fichero de puntos
|
Uint32 mScoreDataFile[TOTAL_SCORE_DATA]; // Datos del fichero de puntos
|
||||||
SDL_Rect mGradientRect[4]; // Vector con las coordenadas de los 4 gradientes
|
SDL_Rect skyColorsRect[4]; // Vector con las coordenadas de los 4 colores de cielo
|
||||||
Uint16 mBalloonsPopped; // Lleva la cuenta de los globos explotados
|
Uint16 mBalloonsPopped; // Lleva la cuenta de los globos explotados
|
||||||
Uint8 mLastEnemyDeploy; // Guarda cual ha sido la última formación desplegada para no repetir;
|
Uint8 mLastEnemyDeploy; // Guarda cual ha sido la última formación desplegada para no repetir;
|
||||||
int mEnemyDeployCounter; // Cuando se lanza una formación, se le da un valor y no sale otra hasta que llegue a cero
|
int mEnemyDeployCounter; // Cuando se lanza una formación, se le da un valor y no sale otra hasta que llegue a cero
|
||||||
@@ -242,8 +232,7 @@ private:
|
|||||||
enemyPool_t mEnemyPool[10]; // Variable con los diferentes conjuntos de formaciones enemigas
|
enemyPool_t mEnemyPool[10]; // Variable con los diferentes conjuntos de formaciones enemigas
|
||||||
Uint8 mLastStageReached; // Contiene el numero de la última pantalla que se ha alcanzado
|
Uint8 mLastStageReached; // Contiene el numero de la última pantalla que se ha alcanzado
|
||||||
|
|
||||||
demo_t mDemo; // Variable con todas las variables relacionadas con el modo demo
|
demo_t mDemo; // Variable con todas las variables relacionadas con el modo demo
|
||||||
debug_t mDebug; // Variable con las opciones de debug
|
|
||||||
|
|
||||||
// Actualiza el juego
|
// Actualiza el juego
|
||||||
void update();
|
void update();
|
||||||
@@ -303,7 +292,10 @@ private:
|
|||||||
void renderScoreBoard();
|
void renderScoreBoard();
|
||||||
|
|
||||||
// Actualiza las variables del jugador
|
// Actualiza las variables del jugador
|
||||||
void updatePlayer();
|
void updatePlayers();
|
||||||
|
|
||||||
|
// Dibuja a los jugadores
|
||||||
|
void renderPlayers();
|
||||||
|
|
||||||
// Actualiza las variables de la fase
|
// Actualiza las variables de la fase
|
||||||
void updateStage();
|
void updateStage();
|
||||||
@@ -488,9 +480,6 @@ private:
|
|||||||
// Bucle para la pantalla de game over
|
// Bucle para la pantalla de game over
|
||||||
void runGameOverScreen();
|
void runGameOverScreen();
|
||||||
|
|
||||||
// Dibuja la informacion de debug en pantalla
|
|
||||||
void renderDebugInfo();
|
|
||||||
|
|
||||||
// Indica si se puede crear una powerball
|
// Indica si se puede crear una powerball
|
||||||
bool canPowerBallBeCreated();
|
bool canPowerBallBeCreated();
|
||||||
|
|
||||||
@@ -517,7 +506,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *mAsset, Lang *lang, Input *input, bool demo, options_t *options);
|
Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, Input *input, bool demo, options_t *options);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Game();
|
~Game();
|
||||||
|
|||||||
2
todo.txt
@@ -1,4 +1,4 @@
|
|||||||
los items se quedan pegados en el techo (comprobar si sigue pasando, he cambiado la coreción al chocar arriba. Si sigue fallando se quita la comprobación superior)
|
x los items se quedan pegados en el techo (comprobar si sigue pasando, he cambiado la coreción al chocar arriba. Si sigue fallando se quita la comprobación superior)
|
||||||
x la maquina de cafe no toca el suelo
|
x la maquina de cafe no toca el suelo
|
||||||
x las bolas verdes nacen naranja al explotarlas
|
x las bolas verdes nacen naranja al explotarlas
|
||||||
falta el aura de superguerrero al pillar la maquina de cafe
|
falta el aura de superguerrero al pillar la maquina de cafe
|
||||||
|
|||||||