diff --git a/data/gfx/game_text.png b/data/gfx/game_text.png index c647ffb..44ae8a2 100644 Binary files a/data/gfx/game_text.png and b/data/gfx/game_text.png differ diff --git a/source/game.cpp b/source/game.cpp index 025665e..7cc7b18 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -318,15 +318,19 @@ void Game::init(int playerID) evaluateAndSetMenace(); // Inicializa el bitmap de 1000 puntos + const int height = 15; + const int sprite1Width = 35; + const int sprite2Width = 38; + const int sprite3Width = 39; n1000Sprite->setPosX(0); n1000Sprite->setPosY(0); - n1000Sprite->setWidth(26); - n1000Sprite->setHeight(9); + n1000Sprite->setWidth(sprite1Width); + n1000Sprite->setHeight(height); n1000Sprite->setVelX(0.0f); n1000Sprite->setVelY(-0.5f); n1000Sprite->setAccelX(0.0f); n1000Sprite->setAccelY(-0.1f); - n1000Sprite->setSpriteClip(0, 0, 26, 9); + n1000Sprite->setSpriteClip(0, 0, sprite1Width, height); n1000Sprite->setEnabled(false); n1000Sprite->setEnabledCounter(0); n1000Sprite->setDestX(0); @@ -335,13 +339,13 @@ void Game::init(int playerID) // Inicializa el bitmap de 2500 puntos n2500Sprite->setPosX(0); n2500Sprite->setPosY(0); - n2500Sprite->setWidth(28); - n2500Sprite->setHeight(9); + n2500Sprite->setWidth(sprite2Width); + n2500Sprite->setHeight(height); n2500Sprite->setVelX(0.0f); n2500Sprite->setVelY(-0.5f); n2500Sprite->setAccelX(0.0f); n2500Sprite->setAccelY(-0.1f); - n2500Sprite->setSpriteClip(26, 0, 28, 9); + n2500Sprite->setSpriteClip(sprite1Width, 0, sprite2Width, height); n2500Sprite->setEnabled(false); n2500Sprite->setEnabledCounter(0); n2500Sprite->setDestX(0); @@ -350,13 +354,13 @@ void Game::init(int playerID) // Inicializa el bitmap de 5000 puntos n5000Sprite->setPosX(0); n5000Sprite->setPosY(0); - n5000Sprite->setWidth(28); - n5000Sprite->setHeight(9); + n5000Sprite->setWidth(sprite3Width); + n5000Sprite->setHeight(height); n5000Sprite->setVelX(0.0f); n5000Sprite->setVelY(-0.5f); n5000Sprite->setAccelX(0.0f); n5000Sprite->setAccelY(-0.1f); - n5000Sprite->setSpriteClip(54, 0, 28, 9); + n5000Sprite->setSpriteClip(sprite1Width + sprite2Width, 0, sprite3Width, height); n5000Sprite->setEnabled(false); n5000Sprite->setEnabledCounter(0); n5000Sprite->setDestX(0); @@ -2253,7 +2257,7 @@ void Game::renderItems() } } -// Devuelve un item en función del azar +// Devuelve un item al azar y luego segun sus probabilidades Uint8 Game::dropItem() { const Uint8 luckyNumber = rand() % 100; @@ -2363,7 +2367,7 @@ void Game::createItemScoreSprite(int x, int y, SmartSprite *sprite) ss->setPosX(x); ss->setPosY(y); ss->setDestX(x); - ss->setDestY(y - 15); + ss->setDestY(y - 25); ss->setEnabled(true); ss->setEnabledCounter(100); } @@ -3256,6 +3260,13 @@ bool Game::allPlayersAreDead() // Comprueba los eventos que hay en cola void Game::checkEvents() { + const Uint8 *keyStates = SDL_GetKeyboardState(nullptr); + + if (keyStates[SDL_SCANCODE_H] != 0) + { + createItemScoreSprite(param->gameWidth / 2, param->gameWidth / 2, n1000Sprite); + } + while (SDL_PollEvent(eventHandler) != 0) { // Evento de salida de la aplicación diff --git a/source/player.cpp b/source/player.cpp index 74ac0ee..350a96e 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -498,7 +498,7 @@ void Player::updatePowerUpCounter() else { powerUp = false; - powerUpCounter = PLAYER_POWERUP_COUNTER; + //powerUpCounter = PLAYER_POWERUP_COUNTER; } }