Canviats defines per constexpr

This commit is contained in:
2025-02-21 12:27:03 +01:00
parent 788aec0dab
commit 134b679a75
17 changed files with 158 additions and 162 deletions

View File

@@ -9,63 +9,63 @@ class AnimatedSprite;
class Texture; class Texture;
// Cantidad de elementos del vector con los valores de la deformación del globo al rebotar // Cantidad de elementos del vector con los valores de la deformación del globo al rebotar
#define MAX_BOUNCE 10 constexpr int MAX_BOUNCE = 10;
// Tipos de globo // Tipos de globo
#define BALLOON_1 1 constexpr int BALLOON_1 = 1;
#define BALLOON_2 2 constexpr int BALLOON_2 = 2;
#define BALLOON_3 3 constexpr int BALLOON_3 = 3;
#define BALLOON_4 4 constexpr int BALLOON_4 = 4;
#define HEXAGON_1 5 constexpr int HEXAGON_1 = 5;
#define HEXAGON_2 6 constexpr int HEXAGON_2 = 6;
#define HEXAGON_3 7 constexpr int HEXAGON_3 = 7;
#define HEXAGON_4 8 constexpr int HEXAGON_4 = 8;
#define POWER_BALL 9 constexpr int POWER_BALL = 9;
// Puntos de globo // Puntos de globo
#define BALLOON_SCORE_1 50 constexpr int BALLOON_SCORE_1 = 50;
#define BALLOON_SCORE_2 100 constexpr int BALLOON_SCORE_2 = 100;
#define BALLOON_SCORE_3 200 constexpr int BALLOON_SCORE_3 = 200;
#define BALLOON_SCORE_4 400 constexpr int BALLOON_SCORE_4 = 400;
// Tamaños de globo // Tamaños de globo
#define BALLOON_SIZE_1 1 constexpr int BALLOON_SIZE_1 = 1;
#define BALLOON_SIZE_2 2 constexpr int BALLOON_SIZE_2 = 2;
#define BALLOON_SIZE_3 3 constexpr int BALLOON_SIZE_3 = 3;
#define BALLOON_SIZE_4 4 constexpr int BALLOON_SIZE_4 = 4;
// Clases de globo // Clases de globo
#define BALLOON_CLASS 0 constexpr int BALLOON_CLASS = 0;
#define HEXAGON_CLASS 1 constexpr int HEXAGON_CLASS = 1;
// Velocidad del globo // Velocidad del globo
#define BALLOON_VELX_POSITIVE 0.7f constexpr float BALLOON_VELX_POSITIVE = 0.7f;
#define BALLOON_VELX_NEGATIVE -0.7f constexpr float BALLOON_VELX_NEGATIVE = -0.7f;
// Indice para las animaciones de los globos // Índice para las animaciones de los globos
#define BALLOON_MOVING_ANIMATION 0 constexpr int BALLOON_MOVING_ANIMATION = 0;
#define BALLOON_POP_ANIMATION 1 constexpr int BALLOON_POP_ANIMATION = 1;
#define BALLOON_BORN_ANIMATION 2 constexpr int BALLOON_BORN_ANIMATION = 2;
// Cantidad posible de globos // Cantidad posible de globos
#define MAX_BALLOONS 100 constexpr int MAX_BALLOONS = 100;
// Velocidades a las que se mueven los globos // Velocidades a las que se mueven los globos
#define BALLOON_SPEED_1 0.60f constexpr float BALLOON_SPEED_1 = 0.60f;
#define BALLOON_SPEED_2 0.70f constexpr float BALLOON_SPEED_2 = 0.70f;
#define BALLOON_SPEED_3 0.80f constexpr float BALLOON_SPEED_3 = 0.80f;
#define BALLOON_SPEED_4 0.90f constexpr float BALLOON_SPEED_4 = 0.90f;
#define BALLOON_SPEED_5 1.00f constexpr float BALLOON_SPEED_5 = 1.00f;
// Tamaño de los globos // Tamaño de los globos
#define BALLOON_WIDTH_1 8 constexpr int BALLOON_WIDTH_1 = 8;
#define BALLOON_WIDTH_2 13 constexpr int BALLOON_WIDTH_2 = 13;
#define BALLOON_WIDTH_3 21 constexpr int BALLOON_WIDTH_3 = 21;
#define BALLOON_WIDTH_4 37 constexpr int BALLOON_WIDTH_4 = 37;
// PowerBall // PowerBall
#define POWERBALL_SCREENPOWER_MINIMUM 10 constexpr int POWERBALL_SCREENPOWER_MINIMUM = 10;
#define POWERBALL_COUNTER 8 constexpr int POWERBALL_COUNTER = 8;
// Clase Balloon // Clase Balloon
class Balloon class Balloon

View File

@@ -7,13 +7,13 @@ class Sprite;
class Texture; class Texture;
// Tipos de bala // Tipos de bala
#define BULLET_UP 1 constexpr int BULLET_UP = 1;
#define BULLET_LEFT 2 constexpr int BULLET_LEFT = 2;
#define BULLET_RIGHT 3 constexpr int BULLET_RIGHT = 3;
// Tipos de retorno de la funcion move de la bala // Tipos de retorno de la función move de la bala
#define BULLET_MOVE_OK 0 constexpr int BULLET_MOVE_OK = 0;
#define BULLET_MOVE_OUT 1 constexpr int BULLET_MOVE_OUT = 1;
// Clase Bullet // Clase Bullet
class Bullet class Bullet

View File

@@ -5,54 +5,54 @@
#include "lang.h" #include "lang.h"
// Tamaño de bloque // Tamaño de bloque
#define BLOCK 8 constexpr int BLOCK = 8;
#define HALF_BLOCK BLOCK / 2 constexpr int HALF_BLOCK = BLOCK / 2;
// Tamaño de la pantalla virtual // Tamaño de la pantalla virtual
#define GAMECANVAS_WIDTH 256 constexpr int GAMECANVAS_WIDTH = 256;
#define GAMECANVAS_HEIGHT 192 constexpr int GAMECANVAS_HEIGHT = 192;
// Zona de juego // Zona de juego
const int PLAY_AREA_TOP = (0 * BLOCK); constexpr int PLAY_AREA_TOP = (0 * BLOCK);
const int PLAY_AREA_BOTTOM = GAMECANVAS_HEIGHT - (4 * BLOCK); constexpr int PLAY_AREA_BOTTOM = GAMECANVAS_HEIGHT - (4 * BLOCK);
const int PLAY_AREA_LEFT = (0 * BLOCK); constexpr int PLAY_AREA_LEFT = (0 * BLOCK);
const int PLAY_AREA_RIGHT = GAMECANVAS_WIDTH - (0 * BLOCK); constexpr int PLAY_AREA_RIGHT = GAMECANVAS_WIDTH - (0 * BLOCK);
const int PLAY_AREA_WIDTH = PLAY_AREA_RIGHT - PLAY_AREA_LEFT; constexpr int PLAY_AREA_WIDTH = PLAY_AREA_RIGHT - PLAY_AREA_LEFT;
const int PLAY_AREA_HEIGHT = PLAY_AREA_BOTTOM - PLAY_AREA_TOP; constexpr int PLAY_AREA_HEIGHT = PLAY_AREA_BOTTOM - PLAY_AREA_TOP;
const int PLAY_AREA_CENTER_X = PLAY_AREA_LEFT + (PLAY_AREA_WIDTH / 2); constexpr int PLAY_AREA_CENTER_X = PLAY_AREA_LEFT + (PLAY_AREA_WIDTH / 2);
const int PLAY_AREA_CENTER_FIRST_QUARTER_X = (PLAY_AREA_WIDTH / 4); constexpr int PLAY_AREA_CENTER_FIRST_QUARTER_X = (PLAY_AREA_WIDTH / 4);
const int PLAY_AREA_CENTER_THIRD_QUARTER_X = (PLAY_AREA_WIDTH / 4) * 3; constexpr int PLAY_AREA_CENTER_THIRD_QUARTER_X = (PLAY_AREA_WIDTH / 4) * 3;
const int PLAY_AREA_CENTER_Y = PLAY_AREA_TOP + (PLAY_AREA_HEIGHT / 2); constexpr int PLAY_AREA_CENTER_Y = PLAY_AREA_TOP + (PLAY_AREA_HEIGHT / 2);
const int PLAY_AREA_FIRST_QUARTER_Y = PLAY_AREA_HEIGHT / 4; constexpr int PLAY_AREA_FIRST_QUARTER_Y = PLAY_AREA_HEIGHT / 4;
const int PLAY_AREA_THIRD_QUARTER_Y = (PLAY_AREA_HEIGHT / 4) * 3; constexpr int PLAY_AREA_THIRD_QUARTER_Y = (PLAY_AREA_HEIGHT / 4) * 3;
// Anclajes de pantalla // Anclajes de pantalla
const int GAMECANVAS_CENTER_X = GAMECANVAS_WIDTH / 2; constexpr int GAMECANVAS_CENTER_X = GAMECANVAS_WIDTH / 2;
const int GAMECANVAS_FIRST_QUARTER_X = GAMECANVAS_WIDTH / 4; constexpr int GAMECANVAS_FIRST_QUARTER_X = GAMECANVAS_WIDTH / 4;
const int GAMECANVAS_THIRD_QUARTER_X = (GAMECANVAS_WIDTH / 4) * 3; constexpr int GAMECANVAS_THIRD_QUARTER_X = (GAMECANVAS_WIDTH / 4) * 3;
const int GAMECANVAS_CENTER_Y = GAMECANVAS_HEIGHT / 2; constexpr int GAMECANVAS_CENTER_Y = GAMECANVAS_HEIGHT / 2;
const int GAMECANVAS_FIRST_QUARTER_Y = GAMECANVAS_HEIGHT / 4; constexpr int GAMECANVAS_FIRST_QUARTER_Y = GAMECANVAS_HEIGHT / 4;
const int GAMECANVAS_THIRD_QUARTER_Y = (GAMECANVAS_HEIGHT / 4) * 3; constexpr int GAMECANVAS_THIRD_QUARTER_Y = (GAMECANVAS_HEIGHT / 4) * 3;
// Secciones del programa // Secciones del programa
#define SECTION_PROG_LOGO 0 constexpr int SECTION_PROG_LOGO = 0;
#define SECTION_PROG_INTRO 1 constexpr int SECTION_PROG_INTRO = 1;
#define SECTION_PROG_TITLE 2 constexpr int SECTION_PROG_TITLE = 2;
#define SECTION_PROG_GAME 3 constexpr int SECTION_PROG_GAME = 3;
#define SECTION_PROG_QUIT 4 constexpr int SECTION_PROG_QUIT = 4;
// Subsecciones // Subsecciones
#define SUBSECTION_GAME_PLAY_1P 0 constexpr int SUBSECTION_GAME_PLAY_1P = 0;
#define SUBSECTION_GAME_PLAY_2P 1 constexpr int SUBSECTION_GAME_PLAY_2P = 1;
#define SUBSECTION_GAME_PAUSE 2 constexpr int SUBSECTION_GAME_PAUSE = 2;
#define SUBSECTION_GAME_GAMEOVER 3 constexpr int SUBSECTION_GAME_GAMEOVER = 3;
#define SUBSECTION_TITLE_1 3 constexpr int SUBSECTION_TITLE_1 = 3;
#define SUBSECTION_TITLE_2 4 constexpr int SUBSECTION_TITLE_2 = 4;
#define SUBSECTION_TITLE_3 5 constexpr int SUBSECTION_TITLE_3 = 5;
#define SUBSECTION_TITLE_INSTRUCTIONS 6 constexpr int SUBSECTION_TITLE_INSTRUCTIONS = 6;
// Ningun tipo // Ningun tipo
#define NO_KIND 0 constexpr int NO_KIND = 0;
// Colores // Colores
const color_t bgColor = {0x27, 0x27, 0x36}; const color_t bgColor = {0x27, 0x27, 0x36};

View File

@@ -15,7 +15,7 @@ struct options_t;
struct section_t; struct section_t;
// Textos // Textos
#define WINDOW_CAPTION "Coffee Crisis" constexpr const char* WINDOW_CAPTION = "Coffee Crisis";
class Director class Director
{ {

View File

@@ -5,9 +5,9 @@
#include <SDL2/SDL_stdinc.h> // for Uint8, Uint16 #include <SDL2/SDL_stdinc.h> // for Uint8, Uint16
// Tipos de fundido // Tipos de fundido
#define FADE_FULLSCREEN 0 constexpr int FADE_FULLSCREEN = 0;
#define FADE_CENTER 1 constexpr int FADE_CENTER = 1;
#define FADE_RANDOM_SQUARE 2 constexpr int FADE_RANDOM_SQUARE = 2;
// Clase Fade // Clase Fade
class Fade class Fade

View File

@@ -26,31 +26,31 @@ struct JA_Music_t;
struct JA_Sound_t; struct JA_Sound_t;
// Cantidad de elementos a escribir en los ficheros de datos // Cantidad de elementos a escribir en los ficheros de datos
#define TOTAL_SCORE_DATA 3 constexpr int TOTAL_SCORE_DATA = 3;
#define TOTAL_DEMO_DATA 2000 constexpr int TOTAL_DEMO_DATA = 2000;
// Contadores // Contadores
#define STAGE_COUNTER 200 constexpr int STAGE_COUNTER = 200;
#define SHAKE_COUNTER 10 constexpr int SHAKE_COUNTER = 10;
#define HELP_COUNTER 1000 constexpr int HELP_COUNTER = 1000;
#define GAME_COMPLETED_START_FADE 500 constexpr int GAME_COMPLETED_START_FADE = 500;
#define GAME_COMPLETED_END 700 constexpr int GAME_COMPLETED_END = 700;
// Formaciones enemigas // Formaciones enemigas
#define NUMBER_OF_ENEMY_FORMATIONS 100 constexpr int NUMBER_OF_ENEMY_FORMATIONS = 100;
#define MAX_NUMBER_OF_ENEMIES_IN_A_FORMATION 50 constexpr int MAX_NUMBER_OF_ENEMIES_IN_A_FORMATION = 50;
// Porcentaje de aparición de los objetos // Porcentaje de aparición de los objetos
#define ITEM_POINTS_1_DISK_ODDS 10 constexpr int ITEM_POINTS_1_DISK_ODDS = 10;
#define ITEM_POINTS_2_GAVINA_ODDS 6 constexpr int ITEM_POINTS_2_GAVINA_ODDS = 6;
#define ITEM_POINTS_3_PACMAR_ODDS 3 constexpr int ITEM_POINTS_3_PACMAR_ODDS = 3;
#define ITEM_CLOCK_ODDS 5 constexpr int ITEM_CLOCK_ODDS = 5;
#define ITEM_COFFEE_ODDS 5 constexpr int ITEM_COFFEE_ODDS = 5;
#define ITEM_POWER_BALL_ODDS 0 constexpr int ITEM_POWER_BALL_ODDS = 0;
#define ITEM_COFFEE_MACHINE_ODDS 4 constexpr int ITEM_COFFEE_MACHINE_ODDS = 4;
// Valores para las variables asociadas a los objetos // Valores para las variables asociadas a los objetos
#define TIME_STOPPED_COUNTER 300 constexpr int TIME_STOPPED_COUNTER = 300;
// Clase Game // Clase Game
class Game class Game

View File

@@ -6,6 +6,15 @@
#include <string> // for string, basic_string #include <string> // for string, basic_string
#include <vector> // for vector #include <vector> // for vector
// Valores de repetición
constexpr bool REPEAT_TRUE = true;
constexpr bool REPEAT_FALSE = false;
// Métodos de entrada
constexpr int INPUT_USE_KEYBOARD = 0;
constexpr int INPUT_USE_GAMECONTROLLER = 1;
constexpr int INPUT_USE_ANY = 2;
enum inputs_e enum inputs_e
{ {
// Inputs obligatorios // Inputs obligatorios
@@ -31,13 +40,6 @@ enum inputs_e
input_number_of_inputs input_number_of_inputs
}; };
#define REPEAT_TRUE true
#define REPEAT_FALSE false
#define INPUT_USE_KEYBOARD 0
#define INPUT_USE_GAMECONTROLLER 1
#define INPUT_USE_ANY 2
enum i_disable_e enum i_disable_e
{ {
d_notDisabled, d_notDisabled,

View File

@@ -15,9 +15,6 @@ class Writer;
struct JA_Music_t; struct JA_Music_t;
struct section_t; struct section_t;
#ifndef INTRO_H
#define INTRO_H
// Clase Intro // Clase Intro
class Intro class Intro
{ {
@@ -69,5 +66,3 @@ public:
// Bucle principal // Bucle principal
void run(); void run();
}; };
#endif

View File

@@ -9,12 +9,12 @@ class AnimatedSprite;
class Texture; class Texture;
// Tipos de objetos // Tipos de objetos
#define ITEM_POINTS_1_DISK 1 constexpr int ITEM_POINTS_1_DISK = 1;
#define ITEM_POINTS_2_GAVINA 2 constexpr int ITEM_POINTS_2_GAVINA = 2;
#define ITEM_POINTS_3_PACMAR 3 constexpr int ITEM_POINTS_3_PACMAR = 3;
#define ITEM_CLOCK 4 constexpr int ITEM_CLOCK = 4;
#define ITEM_COFFEE 5 constexpr int ITEM_COFFEE = 5;
#define ITEM_COFFEE_MACHINE 6 constexpr int ITEM_COFFEE_MACHINE = 6;
// Clase Item // Clase Item
class Item class Item

View File

@@ -5,13 +5,13 @@
class Asset; class Asset;
// Códigos de idioma // Códigos de idioma
#define es_ES 0 constexpr int es_ES = 0;
#define ba_BA 1 constexpr int ba_BA = 1;
#define en_UK 2 constexpr int en_UK = 2;
#define MAX_LANGUAGES 3 constexpr int MAX_LANGUAGES = 3;
// Textos // Textos
#define MAX_TEXT_STRINGS 100 constexpr int MAX_TEXT_STRINGS = 100;
// Clase Lang // Clase Lang
class Lang class Lang

View File

@@ -11,8 +11,9 @@
#include "texture.h" // for Texture #include "texture.h" // for Texture
#include "utils.h" // for section_t, color_t #include "utils.h" // for section_t, color_t
#define INIT_FADE 100 // Valores de inicialización y fin
#define END_LOGO 200 constexpr int INIT_FADE = 100;
constexpr int END_LOGO = 200;
// Constructor // Constructor
Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, section_t *section) Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, section_t *section)

View File

@@ -10,17 +10,17 @@ class Input;
class Text; class Text;
struct JA_Sound_t; struct JA_Sound_t;
// Tipos de fondos para el menu // Tipos de fondos para el menú
#define MENU_BACKGROUND_TRANSPARENT 0 constexpr int MENU_BACKGROUND_TRANSPARENT = 0;
#define MENU_BACKGROUND_SOLID 1 constexpr int MENU_BACKGROUND_SOLID = 1;
// Tipos de archivos de audio // Tipos de archivos de audio
#define SOUND_ACCEPT 0 constexpr int SOUND_ACCEPT = 0;
#define SOUND_MOVE 1 constexpr int SOUND_MOVE = 1;
#define SOUND_CANCEL 2 constexpr int SOUND_CANCEL = 2;
// Opciones de menu // Opciones de menú
#define MENU_NO_OPTION -1 constexpr int MENU_NO_OPTION = -1;
// Clase Menu // Clase Menu
class Menu class Menu

View File

@@ -9,21 +9,21 @@ class AnimatedSprite;
class Texture; class Texture;
// Contadores // Contadores
#define DEATH_COUNTER 350 constexpr int DEATH_COUNTER = 350;
// Estados del jugador // Estados del jugador
#define PLAYER_STATUS_WALKING_LEFT 0 constexpr int PLAYER_STATUS_WALKING_LEFT = 0;
#define PLAYER_STATUS_WALKING_RIGHT 1 constexpr int PLAYER_STATUS_WALKING_RIGHT = 1;
#define PLAYER_STATUS_WALKING_STOP 2 constexpr int PLAYER_STATUS_WALKING_STOP = 2;
#define PLAYER_STATUS_FIRING_UP 0 constexpr int PLAYER_STATUS_FIRING_UP = 0;
#define PLAYER_STATUS_FIRING_LEFT 1 constexpr int PLAYER_STATUS_FIRING_LEFT = 1;
#define PLAYER_STATUS_FIRING_RIGHT 2 constexpr int PLAYER_STATUS_FIRING_RIGHT = 2;
#define PLAYER_STATUS_FIRING_NO 3 constexpr int PLAYER_STATUS_FIRING_NO = 3;
// Variables del jugador // Variables del jugador
#define PLAYER_INVULNERABLE_COUNTER 200 constexpr int PLAYER_INVULNERABLE_COUNTER = 200;
#define PLAYER_POWERUP_COUNTER 1500 constexpr int PLAYER_POWERUP_COUNTER = 1500;
// Clase Player // Clase Player
class Player class Player

View File

@@ -8,8 +8,9 @@
#include "utils.h" // for color_t #include "utils.h" // for color_t
class Asset; class Asset;
#define FILTER_NEAREST 0 // Tipos de filtro
#define FILTER_LINEAL 1 constexpr int FILTER_NEAREST = 0;
constexpr int FILTER_LINEAL = 1;
class Screen class Screen
{ {

View File

@@ -7,10 +7,11 @@ class Sprite;
class Texture; class Texture;
#include "utils.h" #include "utils.h"
#define TXT_COLOR 1 // Opciones de texto
#define TXT_SHADOW 2 constexpr int TXT_COLOR = 1;
#define TXT_CENTER 4 constexpr int TXT_SHADOW = 2;
#define TXT_STROKE 8 constexpr int TXT_CENTER = 4;
constexpr int TXT_STROKE = 8;
struct offset_t struct offset_t
{ {

View File

@@ -23,13 +23,13 @@ struct JA_Music_t;
struct JA_Sound_t; struct JA_Sound_t;
// Textos // Textos
#define TEXT_COPYRIGHT "@2020,2023 JailDesigner (v2.3.1)" constexpr const char* TEXT_COPYRIGHT = "@2020,2023 JailDesigner (v2.3.1)";
// Contadores // Contadores
#define TITLE_COUNTER 800 constexpr int TITLE_COUNTER = 800;
// Cantidad de eventos de la pantalla de titulo // Cantidad de eventos de la pantalla de título
#define TITLE_TOTAL_EVENTS 2 constexpr int TITLE_TOTAL_EVENTS = 2;
class Title class Title
{ {

View File

@@ -6,13 +6,9 @@
#include <vector> // for vector #include <vector> // for vector
// Dificultad del juego // Dificultad del juego
#define DIFFICULTY_EASY 0 constexpr int DIFFICULTY_EASY = 0;
#define DIFFICULTY_NORMAL 1 constexpr int DIFFICULTY_NORMAL = 1;
#define DIFFICULTY_HARD 2 constexpr int DIFFICULTY_HARD = 2;
// Tipo de filtro
#define FILTER_NEAREST 0
#define FILTER_LINEAL 1
// Estructura para definir un circulo // Estructura para definir un circulo
struct circle_t struct circle_t