Implementat contador per a posar el nom al acabar la partida
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
## GAME
|
||||
game.item_size 20
|
||||
game.width 320
|
||||
game.height 240
|
||||
game.play_area.rect.x 0
|
||||
game.play_area.rect.y 0
|
||||
game.play_area.rect.w 320
|
||||
game.play_area.rect.h 200
|
||||
game.item_size 20 # Tamaño de los items del juego
|
||||
game.width 320 # Ancho de la resolucion nativa del juego
|
||||
game.height 240 # Alto de la resolucion nativa del juego
|
||||
game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.h 200 # Rectangulo con la posición de la zona de juego
|
||||
game.enter_name_seconds 30 # Duración en segundos para introducir el nombre al finalizar la partida
|
||||
|
||||
## FADE
|
||||
fade.num_squares_width 160
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
## GAME
|
||||
game.item_size 20
|
||||
game.width 320
|
||||
game.height 256
|
||||
game.play_area.rect.x 0
|
||||
game.play_area.rect.y 0
|
||||
game.play_area.rect.w 320
|
||||
game.play_area.rect.h 216
|
||||
game.item_size 20 # Tamaño de los items del juego
|
||||
game.width 320 # Ancho de la resolucion nativa del juego
|
||||
game.height 256 # Alto de la resolucion nativa del juego
|
||||
game.play_area.rect.x 0 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.y 0 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.w 320 # Rectangulo con la posición de la zona de juego
|
||||
game.play_area.rect.h 216 # Rectangulo con la posición de la zona de juego
|
||||
game.enter_name_seconds 30 # Duración en segundos para introducir el nombre al finalizar la partida
|
||||
|
||||
## FADE
|
||||
fade.num_squares_width 160
|
||||
|
||||
@@ -255,6 +255,11 @@ bool setParams(const std::string &var, const std::string &value)
|
||||
param.game.play_area.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.enter_name_seconds")
|
||||
{
|
||||
param.game.enter_name_seconds = std::stoi(value);
|
||||
}
|
||||
|
||||
// FADE
|
||||
else if (var == "fade.num_squares_width")
|
||||
{
|
||||
|
||||
@@ -55,7 +55,9 @@ void Player::init()
|
||||
coffees_ = 0;
|
||||
input_ = true;
|
||||
continue_ticks_ = 0;
|
||||
continue_counter_ = 20;
|
||||
continue_counter_ = 10;
|
||||
enter_name_ticks_ = 0;
|
||||
enter_name_counter_ = param.game.enter_name_seconds;
|
||||
width_ = 30;
|
||||
height_ = 30;
|
||||
collider_.r = 9;
|
||||
@@ -347,6 +349,7 @@ void Player::update()
|
||||
updatePowerUpCounter();
|
||||
updateInvulnerable();
|
||||
updateContinueCounter();
|
||||
updateEnterNameCounter();
|
||||
updateScoreboard();
|
||||
}
|
||||
|
||||
@@ -711,6 +714,20 @@ void Player::updateContinueCounter()
|
||||
}
|
||||
}
|
||||
|
||||
// Actualiza el contador de entrar nombre
|
||||
void Player::updateEnterNameCounter()
|
||||
{
|
||||
if (status_playing_ == PlayerStatus::ENTERING_NAME)
|
||||
{
|
||||
constexpr Uint32 ticks_speed = 1000;
|
||||
|
||||
if (SDL_GetTicks() - enter_name_ticks_ > ticks_speed)
|
||||
{
|
||||
decEnterNameCounter();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Le asigna un panel en el marcador al jugador
|
||||
void Player::setScoreBoardPanel(int panel)
|
||||
{
|
||||
@@ -734,6 +751,18 @@ void Player::decContinueCounter()
|
||||
}
|
||||
}
|
||||
|
||||
// Decrementa el contador de entrar nombre
|
||||
void Player::decEnterNameCounter()
|
||||
{
|
||||
enter_name_ticks_ = SDL_GetTicks();
|
||||
--enter_name_counter_;
|
||||
if (enter_name_counter_ < 0)
|
||||
{
|
||||
enter_name_counter_ = param.game.enter_name_seconds;
|
||||
setStatusPlaying(PlayerStatus::CONTINUE);
|
||||
}
|
||||
}
|
||||
|
||||
// Establece el nombre del jugador
|
||||
void Player::setName(const std::string &name)
|
||||
{
|
||||
|
||||
@@ -77,9 +77,11 @@ private:
|
||||
Uint32 continue_ticks_; // Variable para poder cambiar el contador de continue en función del tiempo
|
||||
int scoreboard_panel_; // Panel del marcador asociado al jugador
|
||||
std::string name_; // Nombre del jugador
|
||||
std::string record_name_; // Nombre del jugador para l atabla de mejores puntuaciones
|
||||
std::string record_name_; // Nombre del jugador para la tabla de mejores puntuaciones
|
||||
int controller_index_; // Indice del array de mandos que utilizará para moverse
|
||||
bool demo_; // Para que el jugador sepa si está en el modo demostración
|
||||
int enter_name_counter_; // Contador para poner nombre
|
||||
Uint32 enter_name_ticks_; // Variable para poder cambiar el contador de poner nombre en función del tiempo
|
||||
|
||||
// Actualiza el circulo de colisión a la posición del jugador
|
||||
void shiftColliders();
|
||||
@@ -90,6 +92,12 @@ private:
|
||||
// Actualiza el contador de continue
|
||||
void updateContinueCounter();
|
||||
|
||||
// Actualiza el contador de entrar nombre
|
||||
void updateEnterNameCounter();
|
||||
|
||||
// Decrementa el contador de entrar nombre
|
||||
void decEnterNameCounter();
|
||||
|
||||
// Indica si el jugador se puede dibujar
|
||||
bool isRenderable() const;
|
||||
|
||||
|
||||
@@ -157,6 +157,7 @@ struct ParamGame
|
||||
int item_size; // Tamaño de los items del juego
|
||||
Zone play_area; // Rectangulo con la posición de la zona de juego
|
||||
Zone game_area; // Rectangulo con las dimensiones del juego
|
||||
int enter_name_seconds; // Duración en segundos para introducir el nombre al finalizar la partida
|
||||
};
|
||||
|
||||
// param.fade
|
||||
|
||||
Reference in New Issue
Block a user