Afegides descripcions a algunes classes

Eliminats parámetres no necesaris als constructors de classes
This commit is contained in:
2024-08-12 07:57:59 +02:00
parent 4df505d263
commit 45731c8294
7 changed files with 41 additions and 11 deletions

View File

@@ -16,7 +16,7 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
// Crea objetos
eventHandler = new SDL_Event();
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
tiledbg = new Tiledbg(renderer, screen, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_STATIC);
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_STATIC);
fade = new Fade(renderer, param);
// Crea un backbuffer para el renderizador

View File

@@ -11,7 +11,7 @@ ManageHiScoreTable::~ManageHiScoreTable()
{
}
// Borra toda la tabla
// Resetea la tabla a los valores por defecto
void ManageHiScoreTable::clear()
{
// Limpia la tabla

View File

@@ -3,6 +3,13 @@
#include <algorithm>
#include "common/utils.h"
/*
Esta clase sirve para añadir elementos hiScoreEntry_r a un vector (tabla), de manera
que la tabla siempre está ordenada. Además también tiene un método para dejar la tabla
con sus valores iniciales
*/
// Clase ManageHiScoreTable
class ManageHiScoreTable
{
@@ -20,7 +27,7 @@ public:
// Destructor
~ManageHiScoreTable();
// Borra toda la tabla
// Resetea la tabla a los valores por defecto
void clear();
// Añade un elemento a la tabla

View File

@@ -1,11 +1,10 @@
#include "tiledbg.h"
// Constructor
Tiledbg::Tiledbg(SDL_Renderer *renderer, Screen *screen, Asset *asset, SDL_Rect pos, int mode)
Tiledbg::Tiledbg(SDL_Renderer *renderer, Asset *asset, SDL_Rect pos, int mode)
{
// Copia los punteros
this->renderer = renderer;
this->screen = screen;
this->asset = asset;
this->pos = pos;
this->mode = mode;

View File

@@ -6,21 +6,27 @@
#include "common/sprite.h"
#include "const.h"
// Modos de funcionamiento para el tileado de fondo
#define TILED_MODE_CIRCLE 0
#define TILED_MODE_DIAGONAL 1
#define TILED_MODE_RANDOM 2
#define TILED_MODE_STATIC 3
/*
Esta clase dibuja un tileado de fondo. Para ello se sirve de una textura "canvas", que rellena con los tiles.
El rectangulo "window" recorre la textura de diferentes formas para generar el efecto de movimiento de la
textura en pantalla
*/
// Clase Tiledbg
class Tiledbg
{
private:
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
SDL_Rect window; // Ventana visible para la textura de fondo del titulo
SDL_Texture *canvas; // Textura dibujar el fondo del titulo
SDL_Texture *canvas; // Textura donde dibujar el fondo formado por tiles
// Variables
SDL_Rect pos; // Posición y tamaña del mosaico
@@ -38,7 +44,7 @@ private:
public:
// Constructor
Tiledbg(SDL_Renderer *renderer, Screen *screen, Asset *asset, SDL_Rect pos, int mode);
Tiledbg(SDL_Renderer *renderer, Asset *asset, SDL_Rect pos, int mode);
// Destructor
~Tiledbg();

View File

@@ -26,7 +26,7 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset,
miniLogoTexture = new Texture(renderer, asset->get("logo_jailgames_mini.png"));
miniLogoSprite = new Sprite(GAMECANVAS_CENTER_X - miniLogoTexture->getWidth() / 2, 0, miniLogoTexture->getWidth(), miniLogoTexture->getHeight(), miniLogoTexture);
tiledbg = new Tiledbg(renderer, screen, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_RANDOM);
tiledbg = new Tiledbg(renderer, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_RANDOM);
gameLogo = new GameLogo(renderer, screen, asset, param, GAMECANVAS_CENTER_X, param->titleCC);
gameLogo->enable();
@@ -244,7 +244,7 @@ void Title::checkInput()
const int index = input->checkAnyButtonPressed();
if (index)
{
if (section->subsection == SUBSECTION_TITLE_2)
if (section->subsection == SUBSECTION_TITLE_2 || ALLOW_TITLE_ANIMATION_SKIP)
{// No se puede empezar a jugar durante la animación del titulo
fade->activate();
postFade = index;

View File

@@ -24,6 +24,24 @@
// Textos
#define TEXT_COPYRIGHT "@2020,2024 JailDesigner"
// Parámetros
#define ALLOW_TITLE_ANIMATION_SKIP false
/*
Esta clase gestiona un estado del programa. Se encarga de la parte del titulo o menu
que sirve para empezar a jugar. Utiliza otras clases para:
- Mostrar el logo del juego
- Dibujar el tileado de fondo
- Redifinir los botones de los mandos de juego
Esta clase tiene dos estados:
- El titulo está animandose, con el fondo estático
- El titulo ya está en su sitio y el fondo se está animando
Por razones de diseño, no se permite saltarse la animación del titulo, aunque es
configurable mediante un define
*/
// Clase Title
class Title
{
@@ -38,9 +56,9 @@ private:
section_t *section; // Indicador para el bucle del titulo
Tiledbg *tiledbg; // Objeto para dibujar el mosaico animado de fondo
GameLogo *gameLogo; // Objeto para dibujar el logo con el título del juego
DefineButtons *defineButtons; // Objeto para definir los botones del joystic
Texture *miniLogoTexture; // Textura con el logo de JailGames mini
Sprite *miniLogoSprite; // Sprite con el logo de JailGames mini
DefineButtons *defineButtons; // Objeto para definir los botones del joystic
Text *text1; // Objeto de texto para poder escribir textos en pantalla
Text *text2; // Objeto de texto para poder escribir textos en pantalla