From a4dc3d20e26e306911bcf996d51340058734abf4 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 12 Jul 2024 18:18:12 +0200 Subject: [PATCH] =?UTF-8?q?nuevos=20gr=C3=A1ficos=20para=20los=20sprites?= =?UTF-8?q?=20de=20puntos=20de=20los=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/gfx/game_text.png | Bin 438 -> 935 bytes source/game.cpp | 33 ++++++++++++++++++++++----------- source/player.cpp | 2 +- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/data/gfx/game_text.png b/data/gfx/game_text.png index c647ffb1070476e89da3c6018ebb12ced92c22bb..44ae8a20b819c3b048fbd1d44b888fab2cd499ba 100644 GIT binary patch literal 935 zcmV;Y16cftP)Px&VM#;ODs;UeE5lkf1 z>58w@jjh>4=P`Ko`Rr}D!CK4n`JCtTIm<$3Ucq8IUGQ~0QfoHR>5JERbht4uX2$8k zF-{MTcWN{7%Zkxvv)TPCH2d4CeR})S|z40244x{!7^@)hZf$Q|; z*UTZy#htdWo zq9tS1b!~_UM6|-MC<>Hi8RhGoLs1mb=g0QbgtPg?i^;PAvMgig+zOwfDB!)1mNL=T8QR2qlYLG76^t<^&+}+$ z*BPzX$1*6~PZu0e8JOB!Y*B2!D=zZ$7q2)^XP%VQSee!Ol8JrsN|ko4A9G@peY@ZQ zur>pwnXc<4sSIm_AHCUwwU%`clX3|BKP(UtvMl4eu8lE9<~S8>sr_w&1HgoiFxlS+ z0K9(s(g47htFJgeJKa-a!MWBLHG3tk^Tf5PEjmMA!xwA~7CKJtd6PUGa+T zUytE^Qt#DbeD6JC``i@Q+@c>(tix2O)Esj7^-$^%-$KVy( z=pk%2y}rTZ)pM+nlrpAEnrtR~*$y|^6jjXVag&_)ksvpbS>fT3!7qSycc002ov JPDHLkV1i$N#zO!A literal 438 zcmV;n0ZIOeP)Px$a7jc#R7i=nRwW|?tJ!{;0(dI0)V_J2^?sj>kr|_Xocu)H#>ZPe05?0 zAgz@6`KiDR z5L?I7*N~pQ&$oY!JrK(ja?1P`c~g=!UaPDwFgNn1ByJb_V4o$8*Fl=TSgU0c6w`;r z;V98`vYtnfLYsIC~y0H+H>f+`AnH#??0Y~Z$Q|uUkE=I*XW(6vrmsW gyt~$%@BUu?4~W9Gfu5xb+5i9m07*qoM6N<$f^6Z*A^-pY 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; } }