delta-time: game.cpp (funciona pero va un poc massa ràpid)
This commit is contained in:
@@ -77,7 +77,7 @@ class Game {
|
||||
bool need_coffee{false}; // Indica si se necesitan cafes
|
||||
bool need_coffee_machine{false}; // Indica si se necesita PowerUp
|
||||
bool need_power_ball{false}; // Indica si se necesita una PowerBall
|
||||
int counter; // Contador para no dar ayudas consecutivas
|
||||
float counter; // Contador para no dar ayudas consecutivas
|
||||
int item_disk_odds; // Probabilidad de aparición del objeto
|
||||
int item_gavina_odds; // Probabilidad de aparición del objeto
|
||||
int item_pacmar_odds; // Probabilidad de aparición del objeto
|
||||
@@ -134,14 +134,14 @@ class Game {
|
||||
Demo demo_; // Variable con todas las variables relacionadas con el modo demo
|
||||
Difficulty::Code difficulty_ = Options::settings.difficulty; // Dificultad del juego
|
||||
Helper helper_; // Variable para gestionar las ayudas
|
||||
Uint64 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa
|
||||
Uint64 last_time_ = 0; // Último tiempo registrado para deltaTime
|
||||
bool coffee_machine_enabled_ = false; // Indica si hay una máquina de café en el terreno de juego
|
||||
bool hi_score_achieved_ = false; // Indica si se ha superado la puntuación máxima
|
||||
float difficulty_score_multiplier_; // Multiplicador de puntos en función de la dificultad
|
||||
int counter_ = 0; // Contador para el juego
|
||||
int game_completed_counter_ = 0; // Contador para el tramo final, cuando se ha completado la partida y ya no aparecen más globos
|
||||
int game_over_counter_ = GAME_OVER_COUNTER; // Contador para el estado de fin de partida
|
||||
int time_stopped_counter_ = 0; // Temporizador para llevar la cuenta del tiempo detenido
|
||||
float counter_ = 0; // Contador para el juego
|
||||
float game_completed_counter_ = 0; // Contador para el tramo final, cuando se ha completado la partida y ya no aparecen más globos
|
||||
float game_over_counter_ = GAME_OVER_COUNTER; // Contador para el estado de fin de partida
|
||||
float time_stopped_counter_ = 0; // Temporizador para llevar la cuenta del tiempo detenido
|
||||
int menace_ = 0; // Nivel de amenaza actual
|
||||
int menace_threshold_ = 0; // Umbral del nivel de amenaza. Si el nivel de amenaza cae por debajo del umbral, se generan más globos. Si el umbral aumenta, aumenta el número de globos
|
||||
State state_ = State::FADE_IN; // Estado
|
||||
@@ -154,25 +154,28 @@ class Game {
|
||||
#endif
|
||||
|
||||
// --- Ciclo principal del juego ---
|
||||
void update(); // Actualiza la lógica principal del juego
|
||||
void render(); // Renderiza todos los elementos del juego
|
||||
void update(); // Actualiza la lógica principal del juego (frame-based)
|
||||
void update(float deltaTime); // Actualiza la lógica principal del juego (time-based)
|
||||
auto calculateDeltaTime() -> float; // Calcula el deltatime
|
||||
void render(); // Renderiza todos los elementos del juego
|
||||
void handleEvents(); // Procesa los eventos del sistema en cola
|
||||
void checkState(); // Verifica y actualiza el estado actual del juego
|
||||
void setState(State state); // Cambia el estado del juego
|
||||
void cleanVectors(); // Limpia vectores de elementos deshabilitados
|
||||
|
||||
// --- Gestión de estados del juego ---
|
||||
void updateGameStates(); // Actualiza todos los estados del juego
|
||||
void updateGameStateFadeIn(); // Gestiona el estado de transición de entrada
|
||||
void updateGameStateEnteringPlayer(); // Gestiona el estado de entrada de jugador
|
||||
void updateGameStateShowingGetReadyMessage(); // Gestiona el estado de mensaje "preparado"
|
||||
void updateGameStatePlaying(); // Gestiona el estado de juego activo
|
||||
void updateGameStateCompleted(); // Gestiona el estado de juego completado
|
||||
void updateGameStateGameOver(); // Gestiona el estado de fin de partida
|
||||
void updateGameStates(); // Actualiza todos los estados del juego (usa deltaTime interno)
|
||||
void updateGameStateFadeIn(); // Gestiona el estado de transición de entrada
|
||||
void updateGameStateEnteringPlayer(); // Gestiona el estado de entrada de jugador
|
||||
void updateGameStateShowingGetReadyMessage(); // Gestiona el estado de mensaje "preparado"
|
||||
void updateGameStatePlaying(); // Gestiona el estado de juego activo
|
||||
void updateGameStateCompleted(); // Gestiona el estado de juego completado
|
||||
void updateGameStateGameOver(); // Gestiona el estado de fin de partida
|
||||
|
||||
// --- Gestión de jugadores ---
|
||||
void initPlayers(Player::Id player_id); // Inicializa los datos de los jugadores
|
||||
void updatePlayers(); // Actualiza las variables y estados de los jugadores
|
||||
void updatePlayers(); // Actualiza las variables y estados de los jugadores (frame-based)
|
||||
void updatePlayers(float deltaTime); // Actualiza las variables y estados de los jugadores (time-based)
|
||||
void renderPlayers(); // Renderiza todos los jugadores en pantalla
|
||||
void sortPlayersByZOrder(); // Reorganiza el orden de dibujado de jugadores
|
||||
auto getPlayer(Player::Id id) -> std::shared_ptr<Player>; // Obtiene un jugador por su identificador
|
||||
@@ -229,9 +232,10 @@ class Game {
|
||||
void destroyAllItems(); // Elimina todos los ítems activos de la pantalla
|
||||
|
||||
// --- ítems especiales ---
|
||||
void enableTimeStopItem(); // Activa el efecto de detener el tiempo
|
||||
void disableTimeStopItem(); // Desactiva el efecto de detener el tiempo
|
||||
void updateTimeStopped(); // Actualiza el estado del tiempo detenido
|
||||
void enableTimeStopItem(); // Activa el efecto de detener el tiempo
|
||||
void disableTimeStopItem(); // Desactiva el efecto de detener el tiempo
|
||||
void updateTimeStopped(); // Actualiza el estado del tiempo detenido (frame-based)
|
||||
void updateTimeStopped(float deltaTime); // Actualiza el estado del tiempo detenido (time-based)
|
||||
void throwCoffee(int x, int y); // Crea efecto de café arrojado al ser golpeado
|
||||
|
||||
// --- Gestión de caída de ítems ---
|
||||
|
||||
Reference in New Issue
Block a user