Continue amb BalloonManager

This commit is contained in:
2024-11-07 20:56:56 +01:00
parent 0e527ff9d9
commit 2fb7e88e4b
12 changed files with 226 additions and 178 deletions

View File

@@ -5,25 +5,25 @@
#include <memory> // Para shared_ptr, unique_ptr
#include <string> // Para string
#include <vector> // Para vector
#include "balloon_manager.h" // Para BalloonManager
#include "manage_hiscore_table.h" // Para HiScoreEntry
#include "options.h" // Para Options, OptionsGame, options
#include "player.h" // Para Player
#include "utils.h" // Para Demo
class Asset; // lines 14-14
class Background; // lines 15-15
class Bullet; // lines 17-17
class Fade; // lines 19-19
class Input; // lines 20-20
class Item; // lines 21-21
class PathSprite; // lines 22-22
class Scoreboard; // lines 23-23
class Screen; // lines 24-24
class SmartSprite; // lines 25-25
class Texture; // lines 27-27
enum class BulletType : Uint8; // lines 28-28
enum class ItemType; // lines 29-29
struct Path;
class Asset; // lines 13-13
class Background; // lines 14-14
class BalloonManager;
class Bullet; // lines 15-15
class Fade; // lines 16-16
class Input; // lines 17-17
class Item; // lines 18-18
class PathSprite; // lines 19-19
class Scoreboard; // lines 20-20
class Screen; // lines 21-21
class SmartSprite; // lines 22-22
class Texture; // lines 23-23
enum class BulletType : Uint8; // lines 24-24
enum class ItemType; // lines 25-25
struct Path; // lines 26-26
// Modo demo
constexpr bool GAME_MODE_DEMO_OFF = false;
@@ -149,8 +149,6 @@ private:
options.game.hi_score_table[0].name,
options.game.hi_score_table[0].score); // Máxima puntuación y nombre de quien la ostenta
int current_stage_; // Indica la fase actual
int current_power_ = 0; // Poder actual almacenado para completar la fase
Demo demo_; // Variable con todas las variables relacionadas con el modo demo
GameDifficulty difficulty_ = options.game.difficulty; // Dificultad del juego
Helper helper_; // Variable para gestionar las ayudas
@@ -164,6 +162,7 @@ private:
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
int total_power_to_complete_game_; // La suma del poder necesario para completar todas las fases
int balloons_popped_ = 0; // Lleva la cuenta de los globos explotados
int menace_current_ = 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
GameState state_ = GameState::PLAYING; // Estado
@@ -402,6 +401,9 @@ private:
// Calcula y establece el valor de amenaza en funcion de los globos activos
void evaluateAndSetMenace();
// Actualiza la velocidad de los globos en funcion del poder acumulado de la fase
void checkAndUpdateBalloonSpeed();
public:
// Constructor
Game(int playerID, int current_stage, bool demo);
@@ -411,14 +413,4 @@ public:
// Bucle para el juego
void run();
// Aumenta el poder de la fase
void increaseStageCurrentPower(int power) { current_power_ += power; }
// Getters y Setters
int getCurrentStage() const { return current_stage_; }
void setCurrentStage(int stage) { current_stage_ = stage; }
int getCurrentPower() const { return current_power_; }
void setCurrentPower(int power) { current_power_ = power; }
};