Reestructurant la classe Options

This commit is contained in:
2025-02-23 18:12:02 +01:00
parent 3ba4293e8a
commit 2ee0c70319
48 changed files with 898 additions and 984 deletions

View File

@@ -3,9 +3,17 @@
#include <SDL2/SDL_rect.h> // Para SDL_Rect, SDL_Point
#include <SDL2/SDL_stdinc.h> // Para Uint8, Uint32
#include <string> // Para string, basic_string
#include <vector> // Para vector
// Tipos de paleta
enum class Palette : int
{
ZXSPECTRUM,
ZXARNE
};
// Estructura para definir un circulo
struct circle_t
struct Circle
{
int x;
int y;
@@ -36,25 +44,18 @@ struct line_t
int x1, y1, x2, y2;
};
// Tipos de paleta
enum palette_e
{
p_zxspectrum,
p_zxarne
};
// Estructura para definir un color
struct color_t
struct Color
{
Uint8 r;
Uint8 g;
Uint8 b;
// Constructor por defecto
color_t() : r(0), g(0), b(0) {}
Color() : r(0), g(0), b(0) {}
// Constructor
color_t(Uint8 red, Uint8 green, Uint8 blue)
Color(Uint8 red, Uint8 green, Uint8 blue)
: r(red), g(green), b(blue) {}
};
@@ -62,10 +63,10 @@ struct color_t
double distanceSquared(int x1, int y1, int x2, int y2);
// Detector de colisiones entre dos circulos
bool checkCollision(circle_t &a, circle_t &b);
bool checkCollision(Circle &a, Circle &b);
// Detector de colisiones entre un circulo y un rectangulo
bool checkCollision(circle_t &a, SDL_Rect &b);
bool checkCollision(Circle &a, SDL_Rect &b);
// Detector de colisiones entre un dos rectangulos
bool checkCollision(SDL_Rect &a, SDL_Rect &b);
@@ -95,16 +96,19 @@ bool checkCollision(SDL_Point &p, d_line_t &l);
void normalizeLine(d_line_t &l);
// Devuelve un color_t a partir de un string
color_t stringToColor(palette_e pal, std::string str);
Color stringToColor(Palette pal, std::string str);
// Convierte una cadena en un valor booleano
bool stringToBool(std::string str);
// Convierte una cadena a un entero de forma segura
int safeStoi(const std::string &value, int defaultValue = 0);
// Convierte un valor booleano en una cadena
// Convierte una cadena a un booleano
bool stringToBool(const std::string &str);
// Convierte un booleano a una cadena
std::string boolToString(bool value);
// Compara dos colores
bool colorAreEqual(color_t color1, color_t color2);
bool colorAreEqual(Color color1, Color color2);
// Convierte una cadena a minusculas
std::string toLower(std::string str);