48 lines
1.8 KiB
C++
48 lines
1.8 KiB
C++
#pragma once
|
|
|
|
/*
|
|
Namespace section: define los estados/secciones principales del programa,
|
|
así como las opciones y modos especiales (como el Attract Mode).
|
|
Proporciona variables globales para gestionar el flujo entre secciones.
|
|
*/
|
|
|
|
namespace Section {
|
|
// --- Enumeraciones de secciones del programa ---
|
|
enum class Name {
|
|
RESET, // Inicialización
|
|
LOGO, // Pantalla de logo
|
|
INTRO, // Introducción
|
|
TITLE, // Pantalla de título/menú principal
|
|
GAME, // Juego principal
|
|
HI_SCORE_TABLE, // Tabla de récords
|
|
GAME_DEMO, // Modo demo
|
|
INSTRUCTIONS, // Instrucciones
|
|
CREDITS, // Créditos
|
|
QUIT, // Salir del juego
|
|
};
|
|
|
|
// --- Opciones para la sección actual ---
|
|
enum class Options {
|
|
GAME_PLAY_1P, // Iniciar el juego con el jugador 1
|
|
GAME_PLAY_2P, // Iniciar el juego con el jugador 2
|
|
GAME_PLAY_BOTH, // Iniciar el juego con los dos jugadores
|
|
TITLE_TIME_OUT, // Timeout en el título
|
|
TITLE_1, // Opción 1 en el título
|
|
TITLE_2, // Opción 2 en el título
|
|
RELOAD, // Recargar sección
|
|
HI_SCORE_AFTER_PLAYING, // Mostrar récord tras jugar
|
|
SHUTDOWN, // Apagar el sistema
|
|
NONE, // Sin opción
|
|
};
|
|
|
|
// --- Modos para el Attract Mode ---
|
|
enum class AttractMode {
|
|
TITLE_TO_DEMO, // Pasar de título a demo
|
|
TITLE_TO_LOGO, // Pasar de título a logo
|
|
};
|
|
|
|
// --- Variables globales de estado ---
|
|
extern Name name; // Sección actual
|
|
extern Options options; // Opción seleccionada en la sección
|
|
extern AttractMode attract_mode; // Estado del Attract Mode
|
|
} // namespace Section
|