Reestructurado el orden de declaracion de las variables en las clases separado por variables y objetos y punteros

This commit is contained in:
2022-10-18 12:35:45 +02:00
parent 73407e9a14
commit 49f2c244ae
25 changed files with 175 additions and 133 deletions

View File

@@ -39,12 +39,15 @@ struct actor_t
class Actor
{
protected:
SDL_Renderer *renderer; // El renderizador de la ventana
// Objetos y punteros
AnimatedSprite *sprite; // Sprite del enemigo
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
LTexture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo
SDL_Rect collider; // Caja de colisión
actor_name_e name; // Nombre del actor
SDL_Renderer *renderer; // El renderizador de la ventana
// Variables
SDL_Rect collider; // Caja de colisión
actor_name_e name; // Nombre del actor
public:
// Constructor

View File

@@ -18,8 +18,6 @@ public:
// Destructor
~ActorDiamond();
};
#endif

View File

@@ -11,6 +11,7 @@
class ActorMovingPlatform : public Actor
{
private:
// Variables
SDL_Point p1; // Punto 1 (inicial) de la ruta
SDL_Point p2; // Punto 2 (final) de la ruta

View File

@@ -25,6 +25,8 @@ private:
int currentFrame; // Frame actual
int counter; // Contador para las animaciones
};
// Variables
std::vector<t_animation> animation; // Vector con las diferentes animaciones
int currentAnimation; // Animacion activa

View File

@@ -33,10 +33,10 @@ private:
bool required; // Indica si es un fichero que debe de existir
};
int longestName; // Contiene la longitud del nombre de fichero mas largo
std::vector<item_t> fileList;
std::string executablePath;
// Variables
int longestName; // Contiene la longitud del nombre de fichero mas largo
std::vector<item_t> fileList; // Lista con las rutas a los ficheros de recursos
std::string executablePath; // Ruta con la ubicación del ejecutable
// Comprueba que existe un fichero
bool checkFile(std::string path);

View File

@@ -16,10 +16,13 @@
class Debug
{
private:
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
Asset *asset; // Objeto con los ficheros de recursos
Text *text; // Objeto encargado de escribir texto en pantalla
// Variables
std::vector<std::string> slot; // Vector con los textos a escribir
std::vector<std::string> log; // Vector con los textos a escribir
int x; // Posicion donde escribir el texto de debug

View File

@@ -48,9 +48,12 @@ private:
bool active; // Indica si está activo
};
// Objetos y punteros
std::vector<SDL_GameController *> connectedControllers; // Vector con todos los mandos conectados
// Variables
std::vector<keyBindings_t> keyBindings; // Vector con las teclas asociadas a los inputs predefinidos
std::vector<GameControllerBindings_t> gameControllerBindings; // Vector con las teclas asociadas a los inputs predefinidos
std::vector<SDL_GameController *> connectedControllers; // Vector con todos los mandos conectados
std::vector<std::string> controllerNames; // Vector con los nombres de los mandos
int numGamepads; // Numero de mandos conectados
std::string dbPath; // Ruta al archivo gamecontrollerdb.txt

View File

@@ -11,11 +11,14 @@
class LTexture
{
private:
// Objetos y punteros
SDL_Texture *texture; // La textura
SDL_Renderer *renderer; // Renderizador donde dibujar la textura
int width; // Ancho de la imagen
int height; // Alto de la imagen
std::string path; // Ruta de la imagen de la textura
// Variables
int width; // Ancho de la imagen
int height; // Alto de la imagen
std::string path; // Ruta de la imagen de la textura
public:
// Constructor

View File

@@ -68,7 +68,7 @@ private:
int a; // Cantidad de transparencia para el rectangulo del selector
};
// Objetos
// Objetos y punteros
SDL_Renderer *renderer; // Puntero al renderizador de la ventana
Text *text; // Texto para poder escribir los items del menu
Input *input; // Gestor de eventos de entrada de teclado o gamepad
@@ -96,8 +96,8 @@ private:
rectangle_t rectBG; // Rectangulo de fondo del menu
std::vector<item_t> item; // Estructura para cada elemento del menu
selector_t selector; // Variables para pintar el selector del menu
std::string font_png;
std::string font_txt;
std::string font_png; // Ruta con el fichero que contiene las letras en formato de mapa de bits
std::string font_txt; // Ruta con el fichero que contiene las dimensiones de cada letra
// Carga la configuración del menu desde un archivo de texto
bool load(std::string file_path);

View File

@@ -10,6 +10,10 @@
class MovingSprite : public Sprite
{
protected:
// Objetos y punteros
SDL_Point *center; // Centro de rotación
// Variables
float x; // Posición en el eje X
float y; // Posición en el eje Y
@@ -30,7 +34,6 @@ protected:
int rotateSpeed; // Velocidad de giro
double rotateAmount; // Cantidad de grados a girar en cada iteración
int counter; // Contador interno
SDL_Point *center; // Centro de rotación
SDL_RendererFlip currentFlip; // Indica como se voltea el sprite
public:

View File

@@ -24,11 +24,13 @@ struct anchor_t
class Screen
{
private:
// Objetos y punteros
SDL_Window *window; // Ventana de la aplicación
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Texture *gameCanvas; // Textura para completar la ventana de juego hasta la pantalla completa
options_t *options; // Variable con todas las opciones del programa
// Variables
int screenWidth; // Ancho de la pantalla o ventana
int screenHeight; // Alto de la pantalla o ventana
int gameCanvasWidth; // Resolución interna del juego. Es el ancho de la textura donde se dibuja el juego
@@ -37,13 +39,13 @@ private:
SDL_Rect dest; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana
color_t borderColor; // Color del borde añadido a la textura de juego para rellenar la pantalla
// EFECTOS
bool fade; // Indica si esta activo el efecto de fade
int fadeCounter; // Temporizador para el efecto de fade
int fadeLenght; // Duración del fade
bool spectrumFade; // Indica si esta activo el efecto de fade spectrum
int spectrumFadeCounter; // Temporizador para el efecto de fade spectrum
int spectrumFadeLenght; // Duración del fade spectrum
// Variables para efectos
bool fade; // Indica si esta activo el efecto de fade
int fadeCounter; // Temporizador para el efecto de fade
int fadeLenght; // Duración del fade
bool spectrumFade; // Indica si esta activo el efecto de fade spectrum
int spectrumFadeCounter; // Temporizador para el efecto de fade spectrum
int spectrumFadeLenght; // Duración del fade spectrum
std::vector<color_t> spectrumColor; // Colores para el fade spectrum
// Inicializa las variables para el fade

View File

@@ -10,16 +10,17 @@
class Sprite
{
protected:
int x; // Posición en el eje X donde dibujar el sprite
int y; // Posición en el eje Y donde dibujar el sprite
int w; // Ancho del sprite
int h; // Alto del sprite
// Objetos y punteros
SDL_Renderer *renderer; // Puntero al renderizador de la ventana
LTexture *texture; // Textura donde estan todos los dibujos del sprite
SDL_Rect spriteClip; // Rectangulo de origen de la textura que se dibujará en pantalla
bool enabled; // Indica si el sprite esta habilitado
// Variables
int x; // Posición en el eje X donde dibujar el sprite
int y; // Posición en el eje Y donde dibujar el sprite
int w; // Ancho del sprite
int h; // Alto del sprite
SDL_Rect spriteClip; // Rectangulo de origen de la textura que se dibujará en pantalla
bool enabled; // Indica si el sprite esta habilitado
public:
// Constructor

View File

@@ -22,7 +22,7 @@ private:
int w;
};
// Objetos
// Objetos y punteros
Sprite *sprite; // Objeto con los graficos para el texto
LTexture *texture; // Textura con los bitmaps del texto

View File

@@ -23,18 +23,21 @@
class Director
{
private:
SDL_Window *window; // La ventana donde dibujamos
SDL_Renderer *renderer; // El renderizador de la ventana
// Objetos y punteros
Asset *asset; // Objeto encargado de gestionar los ficheros de recursos
Screen *screen; // Objeto encargado de dibujar en pantalla
Input *input; // Objeto Input para gestionar las entradas
Debug *debug; // Objeto para getsionar la información de debug
Game *game; // Objeto para la sección del juego
Input *input; // Objeto Input para gestionar las entradas
Intro *intro; // Objeto encargado de gestionar la intro del juego
Logo *logo; // Objeto encargado de gestionar el logo del juego
Title *title; // Objeto encargado de gestionar el titulo del juego, con el menu principal
Debug *debug; // Objeto para getsionar la información de debug
section_t section; // Sección y subsección actual del programa;
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Window *window; // La ventana donde dibujamos
struct options_t *options; // Contiene las opciones del programa
Title *title; // Objeto encargado de gestionar el titulo del juego, con el menu principal
// Variables
section_t section; // Sección y subsección actual del programa;
// Carga el fichero de configuración
bool loadConfig();

View File

@@ -28,11 +28,14 @@ struct enemy_t
class Enemy
{
protected:
SDL_Renderer *renderer; // El renderizador de la ventana
// Objetos y punteros
AnimatedSprite *sprite; // Sprite del enemigo
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
LTexture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo
SDL_Rect collider; // Caja de colisión
SDL_Renderer *renderer; // El renderizador de la ventana
// Variables
SDL_Rect collider; // Caja de colisión
public:
// Constructor

View File

@@ -17,10 +17,11 @@
class EnemyEngine
{
private:
SDL_Renderer *renderer; // El renderizador de la ventana
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Map *map; // Mapa con la información de la habitación
Player *player; // Puntero con el jugador
// Objetos y punteros
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Map *map; // Mapa con la información de la habitación
Player *player; // Puntero con el jugador
SDL_Renderer *renderer; // El renderizador de la ventana
std::vector<EnemyPath *> enemies; // Vector con la lista de enemigos
// Carga las variables desde un fichero

View File

@@ -13,6 +13,7 @@ class EnemyPath : public Enemy
{
private:
// Variables
SDL_Point p1; // Punto 1 (inicial) de la ruta
SDL_Point p2; // Punto 2 (final) de la ruta

View File

@@ -19,26 +19,29 @@
class Game
{
private:
SDL_Renderer *renderer; // El renderizador de la ventana
// Objetos y punteros
Asset *asset; // Objeto encargado de gestionar los ficheros de recursos
Screen *screen; // Objeto encargado de dibujar en pantalla
Debug *debug; // Objeto para gestionar la información de debug
EnemyEngine *enemyEngine; // Objeto encargado de gestionar los enemigos
Input *input; // Objeto Input para gestionar las entradas
SDL_Event *eventHandler; // Manejador de eventos
JA_Music music; // Contiene la musica que se reproduce durante el juego
ItemTracker *itemTracker; // Objeto para gestionar los items recogidos
Map *map; // Objeto encargado de gestionar el mapeado del juego
Player *player; // Objeto para gestionar el jugador
ItemTracker *itemTracker; // Objeto para gestionar los items recogidos
EnemyEngine *enemyEngine; // Objeto encargado de gestionar los enemigos
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
board_t board; // Estructura con los datos del marcador
Debug *debug; // Objeto para gestionar la información de debug
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Event *eventHandler; // Manejador de eventos
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Texture *spriteLayer; // Textura para dibujar los sprites
section_t section; // Seccion actual dentro del programa
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
bool musicEnabled; // Indica si la musica puede sonar o no
std::string currentMap; // Fichero del mapa actual
player_t spawnPoint; // Lugar de la mapa donde aparece el jugador
// Variables
board_t board; // Estructura con los datos del marcador
bool musicEnabled; // Indica si la musica puede sonar o no
JA_Music music; // Contiene la musica que se reproduce durante el juego
player_t spawnPoint; // Lugar de la mapa donde aparece el jugador
section_t section; // Seccion actual dentro del programa
std::string currentMap; // Fichero del mapa actual
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
// Actualiza el juego, las variables, comprueba la entrada, etc.
void update();

View File

@@ -15,15 +15,18 @@
class Intro
{
private:
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
LTexture *texture; // Textura con los graficos
SDL_Event *eventHandler; // Manejador de eventos
Asset *asset; // Objeto con los ficheros de recurso
// Objetos y punteros
AnimatedSprite *sprite; // Sprite para dibujar los graficos de la intro
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
Asset *asset; // Objeto con los ficheros de recurso
LTexture *texture; // Textura con los graficos
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Event *eventHandler; // Manejador de eventos
SDL_Renderer *renderer; // El renderizador de la ventana
// Variables
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
// Actualiza las variables
void update();

View File

@@ -18,6 +18,7 @@ struct item_tracker_t
class ItemTracker
{
private:
// Variables
std::vector<item_tracker_t> list; // Lista con todos los objetos recogidos
// Busca una entrada en la lista por nombre

View File

@@ -15,20 +15,23 @@
class Logo
{
private:
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
// Objetos y punteros
Asset *asset; // Objeto con los ficheros de recursos
LTexture *texture; // Textura con los graficos
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Event *eventHandler; // Manejador de eventos
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Texture *backbuffer; // Textura para usar como backbuffer
Sprite *sprite; // Sprite con la textura del logo
int counter; // Contador
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
int initFade; // Tiempo del contador cuando inicia el fade a negro
int endLogo; // Tiempo del contador para terminar el logo
int postLogo; // Tiempo que dura el logo con el fade al maximo
// Variables
int counter; // Contador
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
int initFade; // Tiempo del contador cuando inicia el fade a negro
int endLogo; // Tiempo del contador para terminar el logo
int postLogo; // Tiempo que dura el logo con el fade al maximo
// Actualiza las variables
void update();

View File

@@ -31,12 +31,20 @@ enum e_border
b_right
};
// The player
class Map
{
private:
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
SDL_Renderer *renderer; // El renderizador de la ventana
// Objetos y punteros
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
ItemTracker *itemTracker; // Objeto que gestiona los items que ya se han recogido
LTexture *textureTile; // Textura con los graficos de los tiles habitación
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Texture *mapLayer0; // Textura para dibujar la capa 0 del mapa de la habitación
SDL_Texture *mapLayer1; // Textura para dibujar la capa 1 del mapa de la habitación
SDL_Texture *mapLayerBG; // Textura para dibujar la capa BG del mapa de la habitación
std::vector<Actor *> actors; // Listado con los actores de la habitación
// Variables
std::string name; // Identificador de la habitación
std::string roomUp; // Identificador de la habitación que se encuentra arriba
std::string roomDown; // Identificador de la habitación que se encuentra abajp
@@ -46,21 +54,14 @@ private:
std::string tileset; // Imagen con los graficos para la habitación
std::string tileMapFile; // Fichero con el mapa de indices de tile
std::vector<int> collisionmap; // Indice con los tipos de tile de la habitación
LTexture *textureTile; // Textura con los graficos de los tiles habitación
SDL_Texture *mapLayerBG; // Textura para dibujar la capa BG del mapa de la habitación
SDL_Texture *mapLayer0; // Textura para dibujar la capa 0 del mapa de la habitación
SDL_Texture *mapLayer1; // Textura para dibujar la capa 1 del mapa de la habitación
std::vector<Actor *> actors; // Listado con los actores de la habitación
color_t bgColor1; // Color superior del degradado de fondo
color_t bgColor2; // Color inferior del degradado de fondo
bool bgScroll; // Indica si la capa de fondo se mueve
ItemTracker *itemTracker; // Objeto que gestiona los items que ya se han recogido
int counter; // Contador para lo que se necesite
int tileSize; // Ancho del tile en pixels
int mapWidth; // Ancho del mapa en tiles
int mapHeight; // Alto del mapa en tiles
int tilesetWidth; // Ancho del tileset en tiles
int tileSize; // Ancho del tile en pixels
int mapWidth; // Ancho del mapa en tiles
int mapHeight; // Alto del mapa en tiles
int tilesetWidth; // Ancho del tileset en tiles
// Carga las variables desde un fichero de mapa
bool loadMapFile(std::string file);

View File

@@ -44,40 +44,38 @@ struct player_t
SDL_RendererFlip flip;
};
// The player
class Player
{
private:
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
SDL_Renderer *renderer; // El renderizador de la ventana
Input *input; // Objeto Input para gestionar las entradas
// Objetos y punteros
AnimatedSprite *sprite; // Objeto con los graficos, animaciones y posición del jugador
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Debug *debug; // Objeto para gestionar la información de debug
Input *input; // Objeto Input para gestionar las entradas
LTexture *texture; // Textura con los graficos del jugador
Map *map; // Objeto con el mapa
Debug *debug; // Objeto para gestionar la información de debug
float x; // Posición del jugador en el eje X
float y; // Posición del jugador en el eje Y
float vx; // Velocidad/desplazamiento del jugador en el eje X
float vy; // Velocidad/desplazamiento del jugador en el eje Y
int w; // Ancho del jugador
int h; // ALto del jugador
e_state state; // Estado actual del jugador
e_border border; // Indica en qué borde de la pantalla está el jugador
e_living living; // Indica en que estado de la vida se encuentra el jugador
SDL_Point lastPosition; // Posición anterior
int hookedOnMovingPlatform; // Índice de la plataforma movil a la que está enganchado
e_floor isOn; // Indica sobre que tipo de suelo se encuentra
SDL_Rect colliderBox; // Caja de colisión
// Variables que afectan a la inercia del movimiento
bool jumpPressed; // Indica si esta pulsada la tecla de salto
float jumpStrenght; // Cantidad de pixels a desplazarse y velocidad que pilla al saltar
float gravity; // Gravedad
float accelX; // Aceleración al desplazarse horizontalmente
float maxVX; // Velocidad mazima de desplazamiento horizontal
float maxVY; // Velocidad mazima de desplazamiento vertical
SDL_Renderer *renderer; // El renderizador de la ventana
// Variables
float x; // Posición del jugador en el eje X
float y; // Posición del jugador en el eje Y
float vx; // Velocidad/desplazamiento del jugador en el eje X
float vy; // Velocidad/desplazamiento del jugador en el eje Y
int w; // Ancho del jugador
int h; // ALto del jugador
e_state state; // Estado actual del jugador
e_border border; // Indica en qué borde de la pantalla está el jugador
e_living living; // Indica en que estado de la vida se encuentra el jugador
SDL_Point lastPosition; // Posición anterior
int hookedOnMovingPlatform; // Índice de la plataforma movil a la que está enganchado
e_floor isOn; // Indica sobre que tipo de suelo se encuentra
SDL_Rect colliderBox; // Caja de colisión
bool jumpPressed; // Indica si esta pulsada la tecla de salto
float jumpStrenght; // Cantidad de pixels a desplazarse y velocidad que pilla al saltar
float gravity; // Gravedad
float accelX; // Aceleración al desplazarse horizontalmente
float maxVX; // Velocidad mazima de desplazamiento horizontal
float maxVY; // Velocidad mazima de desplazamiento vertical
int *diamonds; // Puntero a la cantidad de diamantes recogidos y que lleva la cuenta el juego
std::vector<bool> key; // Indica las llaves que posee el jugador
std::vector<SDL_Point> collider; // Contiene los puntos de colisión del jugador con el mapa

View File

@@ -30,16 +30,19 @@ enum sb_state_e
class ScoreBoard
{
private:
// Objetos y punteros
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
board_t *board; // Contiene las variables a mostrar en el marcador
Input *input; // Objeto Input para gestionar las entradas
LTexture *texture; // Textura con los graficos
Sprite *sprite; // Sprite para mostrar los graficos
SDL_Renderer *renderer; // El renderizador de la ventana
SDL_Texture *layer; // Textura donde dibujar el marcador
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Sprite *sprite; // Sprite para mostrar los graficos
Text *text; // Objeto para escribir texto
Input *input; // Objeto Input para gestionar las entradas
// Variables
int counter; // Contador interno
int fadingCounter; // Contador para el desvanecimiento del marcador
board_t *board; // Contiene las variables a mostrar en el marcador
sb_state_e state; // Estado en el que se encuentra el marcador
SDL_Rect rect; // Posición del marcador
int waitTime; // Tiempo de espera para mostrar el marcador

View File

@@ -21,19 +21,22 @@
class Title
{
private:
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
LTexture *texture; // Textura con los graficos
SDL_Event *eventHandler; // Manejador de eventos
// Objetos y punteros
AnimatedSprite *sprite; // Sprite para dibujar los graficos de la intro
Asset *asset; // Objeto con los ficheros de recurso
Input *input; // Objeto para gestionar las entradas
Text *text; // Objeto para escribir texto en pantalla
LTexture *texture; // Textura con los graficos
Menu *menu; // Objeto para gestionar el menu del titulo
AnimatedSprite *sprite; // Sprite para dibujar los graficos de la intro
JA_Music music; // Musica del titulo del juego
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Event *eventHandler; // Manejador de eventos
SDL_Renderer *renderer; // El renderizador de la ventana
Text *text; // Objeto para escribir texto en pantalla
// Variables
JA_Music music; // Musica del titulo del juego
section_t section; // Estado del bucle principal para saber si continua o se sale
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
// Actualiza las variables
void update();