Varios arreglos d'estil en el codi i llevar metodes que ja no servien
This commit is contained in:
112
source/game.cpp
112
source/game.cpp
@@ -64,8 +64,8 @@ Game::Game(int player_id, int current_stage, bool demo)
|
||||
explosions_ = std::make_unique<Explosions>();
|
||||
balloon_formations_ = std::make_unique<BalloonFormations>();
|
||||
|
||||
// Carga los recursos
|
||||
loadMedia();
|
||||
// Asigna los recursos a variables privadas del objeto
|
||||
setResources();
|
||||
|
||||
// Inicializa los vectores con los datos para la demo
|
||||
if (demo_.enabled)
|
||||
@@ -86,39 +86,6 @@ Game::Game(int player_id, int current_stage, bool demo)
|
||||
canvas_ = SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param.game.play_area.rect.w, param.game.play_area.rect.h);
|
||||
SDL_SetTextureBlendMode(canvas_, SDL_BLENDMODE_BLEND);
|
||||
|
||||
// Inicializa las variables necesarias para la sección 'Game'
|
||||
init(player_id);
|
||||
}
|
||||
|
||||
Game::~Game()
|
||||
{
|
||||
// Guarda las puntuaciones en un fichero
|
||||
if (!demo_.enabled)
|
||||
{
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(&options.game.hi_score_table);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
}
|
||||
#ifdef RECORDING
|
||||
saveDemoFile(Asset::get()->get("demo1.bin"), demo_.data.at(0));
|
||||
#endif
|
||||
|
||||
// Elimina todos los objetos contenidos en vectores
|
||||
deleteAllVectorObjects();
|
||||
|
||||
// Libera los recursos
|
||||
unloadMedia();
|
||||
|
||||
Scoreboard::destroy();
|
||||
|
||||
SDL_DestroyTexture(canvas_);
|
||||
}
|
||||
|
||||
// Inicializa las variables necesarias para la sección 'Game'
|
||||
void Game::init(int player_id)
|
||||
{
|
||||
// Elimina qualquier jugador que hubiese antes de crear los nuevos
|
||||
players_.clear();
|
||||
|
||||
// Crea los dos jugadores
|
||||
auto player1 = std::make_unique<Player>(1, (param.game.play_area.first_quarter_x * ((0 * 2) + 1)) - 11, param.game.play_area.rect.h - 30, demo_.enabled, ¶m.game.play_area.rect, player_textures_[0], player_animations_);
|
||||
player1->setScoreBoardPanel(SCOREBOARD_LEFT_PANEL);
|
||||
@@ -134,14 +101,12 @@ void Game::init(int player_id)
|
||||
player2->setController(controller2);
|
||||
players_.push_back(std::move(player2));
|
||||
|
||||
// Obtiene mediante "playerID" el jugador que va a empezar jugar
|
||||
auto main_player = getPlayer(player_id);
|
||||
|
||||
// Cambia el estado del jugador seleccionado
|
||||
main_player->setStatusPlaying(PlayerStatus::PLAYING);
|
||||
|
||||
// Como es el principio del juego, empieza sin inmunidad
|
||||
main_player->setInvulnerable(false);
|
||||
// Activa el jugador que coincide con el "player_id"
|
||||
{
|
||||
auto player = getPlayer(player_id);
|
||||
player->setStatusPlaying(PlayerStatus::PLAYING);
|
||||
player->setInvulnerable(false);
|
||||
}
|
||||
|
||||
// Variables relacionadas con la dificultad
|
||||
switch (difficulty_)
|
||||
@@ -150,8 +115,7 @@ void Game::init(int player_id)
|
||||
{
|
||||
default_balloon_speed_ = BALLOON_SPEED_1;
|
||||
difficulty_score_multiplier_ = 0.5f;
|
||||
difficulty_color_ = difficulty_easy_color;
|
||||
scoreboard_->setColor(difficulty_color_);
|
||||
scoreboard_->setColor(scoreboard_easy_color);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -159,8 +123,7 @@ void Game::init(int player_id)
|
||||
{
|
||||
default_balloon_speed_ = BALLOON_SPEED_1;
|
||||
difficulty_score_multiplier_ = 1.0f;
|
||||
difficulty_color_ = difficulty_normal_color;
|
||||
scoreboard_->setColor(scoreboard_color);
|
||||
scoreboard_->setColor(scoreboard_normal_color);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -168,8 +131,7 @@ void Game::init(int player_id)
|
||||
{
|
||||
default_balloon_speed_ = BALLOON_SPEED_5;
|
||||
difficulty_score_multiplier_ = 1.5f;
|
||||
difficulty_color_ = difficulty_hard_color;
|
||||
scoreboard_->setColor(difficulty_color_);
|
||||
scoreboard_->setColor(scoreboard_hard_color);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -299,11 +261,26 @@ void Game::init(int player_id)
|
||||
smart_sprites_.clear();
|
||||
}
|
||||
|
||||
// Carga los recursos necesarios para la sección 'Game'
|
||||
void Game::loadMedia()
|
||||
Game::~Game()
|
||||
{
|
||||
unloadMedia();
|
||||
// Guarda las puntuaciones en un fichero
|
||||
if (!demo_.enabled)
|
||||
{
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
}
|
||||
#ifdef RECORDING
|
||||
saveDemoFile(Asset::get()->get("demo1.bin"), demo_.data.at(0));
|
||||
#endif
|
||||
|
||||
Scoreboard::destroy();
|
||||
|
||||
SDL_DestroyTexture(canvas_);
|
||||
}
|
||||
|
||||
// Asigna los recursos a variables privadas del objeto
|
||||
void Game::setResources()
|
||||
{
|
||||
// Texturas
|
||||
{
|
||||
bullet_texture_ = Resource::get()->getTexture("bullet.png");
|
||||
@@ -403,23 +380,6 @@ void Game::loadMedia()
|
||||
}
|
||||
}
|
||||
|
||||
// Libera los recursos previamente cargados
|
||||
void Game::unloadMedia()
|
||||
{
|
||||
// Texturas
|
||||
game_text_textures_.clear();
|
||||
balloon_textures_.clear();
|
||||
explosions_textures_.clear();
|
||||
item_textures_.clear();
|
||||
player_textures_.clear();
|
||||
|
||||
// Animaciones
|
||||
player_animations_.clear();
|
||||
balloon_animations_.clear();
|
||||
explosions_animations_.clear();
|
||||
item_animations_.clear();
|
||||
}
|
||||
|
||||
// Crea una formación de enemigos
|
||||
void Game::deployBalloonFormation()
|
||||
{
|
||||
@@ -1945,16 +1905,6 @@ void Game::checkEvents()
|
||||
}
|
||||
}
|
||||
|
||||
// Elimina todos los objetos contenidos en vectores
|
||||
void Game::deleteAllVectorObjects()
|
||||
{
|
||||
players_.clear();
|
||||
balloons_.clear();
|
||||
bullets_.clear();
|
||||
items_.clear();
|
||||
smart_sprites_.clear();
|
||||
}
|
||||
|
||||
// Recarga las texturas
|
||||
void Game::reloadTextures()
|
||||
{
|
||||
@@ -2014,8 +1964,8 @@ void Game::pause(bool value)
|
||||
// Añade una puntuación a la tabla de records
|
||||
void Game::addScoreToScoreBoard(const std::string &name, int score)
|
||||
{
|
||||
const auto entry = (HiScoreEntry){trim(name), score};
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(&options.game.hi_score_table);
|
||||
const auto entry = HiScoreEntry(trim(name), score);
|
||||
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
|
||||
manager->add(entry);
|
||||
manager->saveToFile(asset_->get("score.bin"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user