diff --git a/source/player.cpp b/source/player.cpp index c00a1a97..e494bf11 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -202,26 +202,34 @@ void Player::checkState() // Cambia al jugador de un borde al opuesto. Util para el cambio de pantalla void Player::switchBorders() { - if (border_ == BORDER_TOP) + switch (border_) { - y_ = PLAY_AREA_BOTTOM - HEIGHT_ - 0 - BLOCK; + case BORDER_TOP: + y_ = PLAY_AREA_BOTTOM - HEIGHT_ - BLOCK; setState(PlayerState::STANDING); - } - else if (border_ == BORDER_BOTTOM) - { - y_ = PLAY_AREA_TOP + 0; + break; + + case BORDER_BOTTOM: + y_ = PLAY_AREA_TOP; setState(PlayerState::STANDING); - } - else if (border_ == BORDER_RIGHT) - { - x_ = PLAY_AREA_LEFT + 0; - } - if (border_ == BORDER_LEFT) - { - x_ = PLAY_AREA_RIGHT - WIDTH_ - 0; + break; + + case BORDER_RIGHT: + x_ = PLAY_AREA_LEFT; + break; + + case BORDER_LEFT: + x_ = PLAY_AREA_RIGHT - WIDTH_; + break; + + default: + // Manejo para casos no previstos (opcional) + break; } is_on_border_ = false; + placeSprite(); + collider_box_ = getRect(); } // Aplica gravedad al jugador