This commit is contained in:
2026-04-18 07:48:05 +02:00
parent 20b9a95619
commit 34a41ad25c
22 changed files with 97 additions and 79 deletions

View File

@@ -26,14 +26,14 @@ class Instructions {
section_t *section; // Estado del bucle principal para saber si continua o se sale
// Variables
Uint16 counter; // Contador
Uint16 counterEnd; // Valor final para el contador
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
bool manualQuit; // Indica si se quiere salir del modo manual
mode_e mode; // Modo en el que se van a ejecutar las instrucciones
bool finished; // Indica si las instrucciones han terminado
bool quitRequested; // Indica si se ha solicitado salir de la aplicación
Uint16 counter; // Contador
Uint16 counterEnd; // Valor final para el contador
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
bool manualQuit; // Indica si se quiere salir del modo manual
mode_e mode{m_auto}; // Modo en el que se van a ejecutar las instrucciones
bool finished; // Indica si las instrucciones han terminado
bool quitRequested; // Indica si se ha solicitado salir de la aplicación
// Comprueba las entradas
void checkInput();
@@ -45,6 +45,9 @@ class Instructions {
// Destructor
~Instructions();
Instructions(const Instructions &) = delete;
Instructions &operator=(const Instructions &) = delete;
// Bucle principal
void run(mode_e mode);

View File

@@ -47,6 +47,9 @@ class Intro {
// Destructor
~Intro();
Intro(const Intro &) = delete;
Intro &operator=(const Intro &) = delete;
// Bucle principal
void run();

View File

@@ -42,6 +42,9 @@ class Logo {
// Destructor
~Logo();
Logo(const Logo &) = delete;
Logo &operator=(const Logo &) = delete;
// Bucle principal
void run();

View File

@@ -860,11 +860,13 @@ void Title::iterate() {
demoGame->iterate();
if (demoGame->hasFinished()) {
bool wasQuit = (section->name == SECTION_PROG_QUIT);
// cppcheck-suppress knownConditionTrueFalse
const bool wasQuit = (section->name == SECTION_PROG_QUIT);
delete demoGame;
demoGame = nullptr;
demoGameActive = false;
// cppcheck-suppress knownConditionTrueFalse
if (wasQuit) {
section->name = SECTION_PROG_QUIT;
} else if (demoThenInstructions) {

View File

@@ -38,11 +38,11 @@ class Title {
};
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Instructions *instructions; // Objeto para la sección de las instrucciones
Game *demoGame; // Objeto para lanzar la demo del juego
SDL_Event *eventHandler; // Manejador de eventos
section_t *section; // Indicador para el bucle del titulo
SDL_Renderer *renderer; // El renderizador de la ventana
Instructions *instructions{nullptr}; // Objeto para la sección de las instrucciones
Game *demoGame{nullptr}; // Objeto para lanzar la demo del juego
SDL_Event *eventHandler; // Manejador de eventos
section_t *section; // Indicador para el bucle del titulo
Texture *dustTexture; // Textura con los graficos del polvo
Texture *coffeeTexture; // Textura con los graficos de la palabra coffee
@@ -87,16 +87,16 @@ class Title {
std::vector<int> deviceIndex; // Indice para el jugador [i] del vector de dispositivos de entrada disponibles
// Variables para la vibración del título (SUBSECTION_TITLE_2)
int vibrationStep; // Paso actual de la vibración
int vibrationCoffeeBaseX; // Posición X base del bitmap Coffee
int vibrationCrisisBaseX; // Posición X base del bitmap Crisis
bool vibrationInitialized; // Indica si se han capturado las posiciones base
int vibrationStep; // Paso actual de la vibración
int vibrationCoffeeBaseX{0}; // Posición X base del bitmap Coffee
int vibrationCrisisBaseX{0}; // Posición X base del bitmap Crisis
bool vibrationInitialized; // Indica si se han capturado las posiciones base
// Variables para sub-estados delegados (instrucciones y demo)
bool instructionsActive; // Indica si las instrucciones están activas
bool demoGameActive; // Indica si el juego demo está activo
mode_e instructionsMode; // Modo de las instrucciones activas
bool demoThenInstructions; // Indica si tras la demo hay que mostrar instrucciones
bool instructionsActive; // Indica si las instrucciones están activas
bool demoGameActive; // Indica si el juego demo está activo
mode_e instructionsMode{m_auto}; // Modo de las instrucciones activas
bool demoThenInstructions; // Indica si tras la demo hay que mostrar instrucciones
// Inicializa los valores
void init();
@@ -147,6 +147,9 @@ class Title {
// Destructor
~Title();
Title(const Title &) = delete;
Title &operator=(const Title &) = delete;
// Bucle para el titulo del juego
void run();