treballant en els panels del marcador
This commit is contained in:
@@ -9,47 +9,63 @@
|
||||
#include "const.h"
|
||||
#include "lang.h"
|
||||
|
||||
enum scoreboard_modes_e
|
||||
{
|
||||
SCOREBOARD_MODE_PLAYING,
|
||||
SCOREBOARD_MODE_GAME_OVER,
|
||||
SCOREBOARD_MODE_DEMO,
|
||||
};
|
||||
// Defines
|
||||
#define SCOREBOARD_MAX_PANELS 3
|
||||
|
||||
#define SCOREBOARD_LEFT_SIDE 0
|
||||
#define SCOREBOARD_RIGHT_SIDE 1
|
||||
#define SCOREBOARD_LEFT_PANEL 0
|
||||
#define SCOREBOARD_CENTER_PANEL 1
|
||||
#define SCOREBOARD_RIGHT_PANEL 2
|
||||
|
||||
#define SCOREBOARD_TICK_SPEED 100
|
||||
|
||||
// Enums
|
||||
enum scoreboard_modes_e
|
||||
{
|
||||
SCOREBOARD_MODE_SCORE,
|
||||
SCOREBOARD_MODE_STAGE_INFO,
|
||||
SCOREBOARD_MODE_CONTINUE,
|
||||
SCOREBOARD_MODE_GAME_OVER,
|
||||
SCOREBOARD_MODE_DEMO,
|
||||
SCOREBOARD_MODE_NUM_MODES,
|
||||
};
|
||||
|
||||
// Structs
|
||||
struct panel_t
|
||||
{
|
||||
scoreboard_modes_e mode; // Modo en el que se encuentra el panel
|
||||
SDL_Rect pos; // Posición donde dibujar el panel dentro del marcador
|
||||
};
|
||||
|
||||
// Clase Scoreboard
|
||||
class Scoreboard
|
||||
{
|
||||
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
|
||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||
Texture *gamePowerMeterTexture; // Textura con el marcador de poder de la fase
|
||||
Sprite *powerMeterSprite; // Sprite para el medidor de poder de la fase
|
||||
Text *textScoreBoard; // Fuente para el marcador del juego
|
||||
SDL_Texture *background; // Textura para dibujar el marcador
|
||||
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
|
||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||
Texture *gamePowerMeterTexture; // Textura con el marcador de poder de la fase
|
||||
Sprite *powerMeterSprite; // Sprite para el medidor de poder de la fase
|
||||
Text *textScoreBoard; // Fuente para el marcador del juego
|
||||
SDL_Texture *background; // Textura para dibujar el marcador
|
||||
std::vector<SDL_Texture *> panelTexture; // Texturas para dibujar cada panel;
|
||||
|
||||
// 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
|
||||
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
|
||||
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
|
||||
panel_t panel[SCOREBOARD_MAX_PANELS]; // Lista con todos los paneles del marcador
|
||||
Uint32 ticks; // Variable donde almacenar el valor de SDL_GetTiks()
|
||||
int counter; // Contador
|
||||
|
||||
SDL_Point offsetScoreP1Label;
|
||||
SDL_Point offsetScoreP1;
|
||||
@@ -73,6 +89,15 @@ private:
|
||||
// Transforma un valor numérico en una cadena de 6 cifras
|
||||
std::string updateScoreText(Uint32 num);
|
||||
|
||||
// Crea la textura de fondo
|
||||
void createBackgroundTexture();
|
||||
|
||||
// Crea las texturas de los paneles
|
||||
void createPanelTextures();
|
||||
|
||||
// Rellena los diferentes paneles del marcador
|
||||
void fillPanelTextures();
|
||||
|
||||
// Rellena la textura de fondo
|
||||
void fillBackgroundTexture();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user