This commit is contained in:
2022-10-07 18:30:44 +02:00
11 changed files with 200 additions and 48 deletions

View File

@@ -192,7 +192,7 @@ void Game::init()
if (numPlayers == 1)
{
Player *player = new Player(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, renderer, player2Textures, playerAnimations);
Player *player = new Player(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, renderer, player1Textures, playerAnimations);
players.push_back(player);
}
@@ -210,16 +210,21 @@ void Game::init()
case DIFFICULTY_EASY:
defaultEnemySpeed = BALLOON_SPEED_1;
difficultyScoreMultiplier = 0.5f;
difficultyColor = {75, 105, 47};
pauseMenu->setSelectorColor(difficultyColor, 255);
break;
case DIFFICULTY_NORMAL:
defaultEnemySpeed = BALLOON_SPEED_1;
difficultyScoreMultiplier = 1.0f;
difficultyColor = {46, 63, 71};
break;
case DIFFICULTY_HARD:
defaultEnemySpeed = BALLOON_SPEED_5;
difficultyScoreMultiplier = 1.5f;
difficultyColor = {118, 66, 138};
pauseMenu->setSelectorColor(difficultyColor, 255);
break;
default:
@@ -1552,9 +1557,11 @@ std::string Game::updateScoreText(Uint32 num)
void Game::renderScoreBoard()
{
// Dibuja el fondo del marcador
SDL_SetRenderDrawColor(renderer, 46, 63, 71, 255);
SDL_SetRenderDrawColor(renderer, difficultyColor.r, difficultyColor.g, difficultyColor.b, 255);
SDL_Rect rect = {0, 160, 256, 32};
SDL_RenderFillRect(renderer, &rect);
// Dibuja la linea que separa el marcador de la zona de juego
SDL_SetRenderDrawColor(renderer, 13, 26, 43, 255);
SDL_RenderDrawLine(renderer, 0, 160, 255, 160);
@@ -3577,6 +3584,31 @@ void Game::checkEventHandler()
{
switch (eventHandler->key.keysym.scancode)
{
case SDL_SCANCODE_F:
screen->switchVideoMode();
reloadTextures();
break;
case SDL_SCANCODE_F1:
screen->setWindowSize(1);
reloadTextures();
break;
case SDL_SCANCODE_F2:
screen->setWindowSize(2);
reloadTextures();
break;
case SDL_SCANCODE_F3:
screen->setWindowSize(3);
reloadTextures();
break;
case SDL_SCANCODE_F4:
screen->setWindowSize(4);
reloadTextures();
break;
case SDL_SCANCODE_P:
createPowerBall();
break;
@@ -3585,6 +3617,20 @@ void Game::checkEventHandler()
stopAllBalloons(200);
break;
case SDL_SCANCODE_I:
static bool toogle = true;
if (toogle)
{
players.at(0)->setPlayerTextures(player1Textures);
toogle = !toogle;
}
else
{
players.at(0)->setPlayerTextures(player2Textures);
toogle = !toogle;
}
break;
default:
break;
}
@@ -3641,4 +3687,36 @@ void Game::deleteAllVectorObjects()
delete smartSprite;
};
smartSprites.clear();
}
// Recarga las texturas
void Game::reloadTextures()
{
for (auto texture : itemTextures)
{
texture->reLoad();
}
for (auto texture : balloonTextures)
{
texture->reLoad();
}
for (auto texture : player1Textures)
{
texture->reLoad();
}
for (auto texture : player2Textures)
{
texture->reLoad();
}
bulletTexture->reLoad();
gameBuildingsTexture->reLoad();
gameCloudsTexture->reLoad();
gameGrassTexture->reLoad();
gamePowerMeterTexture->reLoad();
gameSkyColorsTexture->reLoad();
gameTextTexture->reLoad();
}