afegit el modo demo al marcador

This commit is contained in:
2024-07-26 11:48:44 +02:00
parent 9886f314b5
commit 1632441c31
3 changed files with 112 additions and 36 deletions

View File

@@ -11,11 +11,16 @@
enum scoreboard_modes_e
{
scoreboard_mode_playing,
scoreboard_mode_game_over,
scoreboard_mode_demo,
SCOREBOARD_MODE_PLAYING,
SCOREBOARD_MODE_GAME_OVER,
SCOREBOARD_MODE_DEMO,
};
#define SCOREBOARD_LEFT_SIDE 0
#define SCOREBOARD_RIGHT_SIDE 1
#define SCOREBOARD_TICK_SPEED 1000
// Clase Scoreboard
class Scoreboard
{
@@ -31,17 +36,20 @@ private:
SDL_Texture *background; // Textura para dibujar el marcador
// Variables
struct options_t *options; // Variable con todas las variables de las opciones del programa
int stage; // Número de fase actual
int score1; // Puntuación del jugador 1
int score2; // Puntuación del jugador 2
float mult1; // Multiplicador del jugador 1
float mult2; // MUltiplicador del jugador 2
int hiScore; // Mäxima puntuación
float power; // Poder actual de la fase
std::string hiScoreName; // Nombre del jugador con la máxima puntuación
color_t color; // Color del marcador
SDL_Rect rect; // Posición y dimensiones del marcador
struct options_t *options; // Variable con todas las variables de las opciones del programa
int stage; // Número de fase actual
int score1; // Puntuación del jugador 1
int score2; // Puntuación del jugador 2
float mult1; // Multiplicador del jugador 1
float mult2; // MUltiplicador del jugador 2
int hiScore; // Mäxima puntuación
float power; // Poder actual de la fase
std::string hiScoreName; // Nombre del jugador con la máxima puntuación
color_t color; // Color del marcador
SDL_Rect rect; // Posición y dimensiones del marcador
scoreboard_modes_e mode[2]; // Modos en los que se puede encontrar el marcador
Uint32 ticks; // Variable donde almacenar el valor de SDL_GetTiks()
int counter; // Contador
SDL_Point offsetScoreP1Label;
SDL_Point offsetScoreP1;
@@ -68,6 +76,9 @@ private:
// Rellena la textura de fondo
void fillBackgroundTexture();
// Actualiza el contador
void updateCounter();
public:
// Constructor
Scoreboard(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, options_t *options);
@@ -75,6 +86,9 @@ public:
// Destructor
~Scoreboard();
// Actualiza la lógica del marcador
void update();
// Pinta el marcador
void render();
@@ -83,28 +97,31 @@ public:
// Establece el valor de la variable
void setScore2(int score);
// Establece el valor de la variable
void setMult1(float mult);
// Establece el valor de la variable
void setMult2(float mult);
// Establece el valor de la variable
void setStage(int stage);
// Establece el valor de la variable
void setHiScore(int hiScore);
// Establece el valor de la variable
void setPower(float power);
// Establece el valor de la variable
void setHiScoreName(std::string name);
// Establece el valor de la variable
void setColor(color_t color);
// Establece el valor de la variable
void setPos(SDL_Rect rect);
// Establece el modo del marcador
void setMode(int index, scoreboard_modes_e mode);
};