scoreboard: Añadidas funciones para asignar valores a las variables

This commit is contained in:
2024-05-23 13:54:36 +02:00
parent bf0171b38d
commit 7ea14c984e
3 changed files with 57 additions and 11 deletions

View File

@@ -51,7 +51,6 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
skyColorsSprite = new Sprite(0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT, gameSkyColorsTexture, renderer); skyColorsSprite = new Sprite(0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT, gameSkyColorsTexture, renderer);
grassSprite = new Sprite(0, 0, 256, 6, gameGrassTexture, renderer); grassSprite = new Sprite(0, 0, 256, 6, gameGrassTexture, renderer);
powerMeterSprite = new Sprite(PLAY_AREA_CENTER_X - 20, 170, 40, 7, gamePowerMeterTexture, renderer);
gameOverSprite = new Sprite(16, 80, 128, 96, gameOverTexture, renderer); gameOverSprite = new Sprite(16, 80, 128, 96, gameOverTexture, renderer);
gameOverEndSprite = new Sprite(PLAY_AREA_CENTER_X - gameOverEndTexture->getWidth() / 2, 80, 128, 96, gameOverEndTexture, renderer); gameOverEndSprite = new Sprite(PLAY_AREA_CENTER_X - gameOverEndTexture->getWidth() / 2, 80, 128, 96, gameOverEndTexture, renderer);
@@ -85,9 +84,6 @@ Game::~Game()
gameGrassTexture->unload(); gameGrassTexture->unload();
delete gameGrassTexture; delete gameGrassTexture;
gamePowerMeterTexture->unload();
delete gamePowerMeterTexture;
gameSkyColorsTexture->unload(); gameSkyColorsTexture->unload();
delete gameSkyColorsTexture; delete gameSkyColorsTexture;
@@ -152,7 +148,6 @@ Game::~Game()
delete text; delete text;
delete textBig; delete textBig;
delete textScoreBoard;
delete textNokia2; delete textNokia2;
delete textNokiaBig2; delete textNokiaBig2;
delete gameOverMenu; delete gameOverMenu;
@@ -170,7 +165,6 @@ Game::~Game()
delete skyColorsSprite; delete skyColorsSprite;
delete grassSprite; delete grassSprite;
delete powerMeterSprite;
delete gameOverSprite; delete gameOverSprite;
delete gameOverEndSprite; delete gameOverEndSprite;
@@ -333,7 +327,6 @@ void Game::init()
clouds2B->setSpriteClip(0, 52, 256, 32); clouds2B->setSpriteClip(0, 52, 256, 32);
grassSprite->setPosY(154); grassSprite->setPosY(154);
powerMeterSprite->setSpriteClip(0, 0, 40, 7);
// Con los globos creados, calcula el nivel de amenaza // Con los globos creados, calcula el nivel de amenaza
evaluateAndSetMenace(); evaluateAndSetMenace();
@@ -542,7 +535,6 @@ void Game::loadMedia()
// Texto // Texto
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
textScoreBoard = new Text(asset->get("8bithud.png"), asset->get("8bithud.txt"), renderer);
textBig = new Text(asset->get("smb2_big.png"), asset->get("smb2_big.txt"), renderer); textBig = new Text(asset->get("smb2_big.png"), asset->get("smb2_big.txt"), renderer);
textNokia2 = new Text(asset->get("nokia2.png"), asset->get("nokia2.txt"), renderer); textNokia2 = new Text(asset->get("nokia2.png"), asset->get("nokia2.txt"), renderer);
textNokiaBig2 = new Text(asset->get("nokia_big2.png"), asset->get("nokia_big2.txt"), renderer); textNokiaBig2 = new Text(asset->get("nokia_big2.png"), asset->get("nokia_big2.txt"), renderer);
@@ -3804,7 +3796,6 @@ void Game::reloadTextures()
gameBuildingsTexture->reLoad(); gameBuildingsTexture->reLoad();
gameCloudsTexture->reLoad(); gameCloudsTexture->reLoad();
gameGrassTexture->reLoad(); gameGrassTexture->reLoad();
gamePowerMeterTexture->reLoad();
gameSkyColorsTexture->reLoad(); gameSkyColorsTexture->reLoad();
gameTextTexture->reLoad(); gameTextTexture->reLoad();
} }

View File

@@ -120,7 +120,7 @@ void Scoreboard::render()
powerMeterSprite->setPosY(offset2); powerMeterSprite->setPosY(offset2);
powerMeterSprite->setSpriteClip(0, 0, 40, 7); powerMeterSprite->setSpriteClip(0, 0, 40, 7);
powerMeterSprite->render(); powerMeterSprite->render();
//const float percent = (stage[currentStage].currentPower * 40.0f) / stage[currentStage].powerToComplete; // const float percent = (stage[currentStage].currentPower * 40.0f) / stage[currentStage].powerToComplete;
const float percent = 0.5; const float percent = 0.5;
powerMeterSprite->setSpriteClip(40, 0, (int)percent, 7); powerMeterSprite->setSpriteClip(40, 0, (int)percent, 7);
powerMeterSprite->render(); powerMeterSprite->render();
@@ -128,4 +128,49 @@ void Scoreboard::render()
// HI-SCORE // HI-SCORE
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3, lang->getText(56)); textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3, lang->getText(56));
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, hiScoreName + updateScoreText(hiScore)); textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, hiScoreName + updateScoreText(hiScore));
} }
void Scoreboard::setScore1(int score)
{
score1 = score;
}
void Scoreboard::setScore2(int score)
{
score2 = score;
}
void Scoreboard::setMult1(int mult)
{
mult1 = mult;
}
void Scoreboard::setMult2(int mult)
{
mult2 = mult;
}
void Scoreboard::setStage(int stage)
{
this->stage = stage;
}
void Scoreboard::setHiScore(int hiScore)
{
this->hiScore = hiScore;
}
void Scoreboard::setPower(int power)
{
this->power = power;
}
void Scoreboard::setHiScoreName(std::string name)
{
hiScoreName = name;
}
void Scoreboard::setColor(color_t color)
{
this->color = color;
}

View File

@@ -53,6 +53,16 @@ public:
// Pinta el marcador // Pinta el marcador
void render(); void render();
void setScore1(int score);
void setScore2(int score);
void setMult1(int mult);
void setMult2(int mult);
void setStage(int stage);
void setHiScore(int hiScore);
void setPower(int power);
void setHiScoreName(std::string name);
void setColor(color_t color);
private: private:
// 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); std::string updateScoreText(Uint32 num);