#pragma once #include // Para vector /* Namespace Stage: gestiona los datos y operaciones de las fases del juego. Permite consultar y modificar el poder necesario, la amenaza y el estado de cada fase. */ namespace Stage { // --- Estructura con los datos de una fase --- struct Stage { int power_to_complete; // Cantidad de poder que se necesita para completar la fase int min_menace; // Umbral mínimo de amenaza de la fase int max_menace; // Umbral máximo de amenaza de la fase // Constructor Stage(int power_to_complete, int min_menace, int max_menace) : power_to_complete(power_to_complete), min_menace(min_menace), max_menace(max_menace) {} }; // --- Variables globales del estado de las fases --- extern std::vector stages; // Vector con los datos de cada pantalla extern int power; // Poder acumulado en la fase actual extern int total_power; // Poder total necesario para completar el juego extern int number; // Índice de la fase actual extern bool power_can_be_added; // Indica si se puede añadir poder a la fase // --- Funciones principales --- auto get(int index) -> Stage; // Devuelve una fase por índice void init(); // Inicializa las variables del namespace Stage void addPower(int amount); // Añade poder a la fase actual } // namespace Stage