clang-format
This commit is contained in:
@@ -7,15 +7,15 @@
|
||||
|
||||
// --- Estructuras ---
|
||||
struct HiScoreEntry {
|
||||
std::string name; // Nombre
|
||||
int score; // Puntuación
|
||||
bool one_credit_complete; // Indica si se ha conseguido 1CC
|
||||
std::string name; // Nombre
|
||||
int score; // Puntuación
|
||||
bool one_credit_complete; // Indica si se ha conseguido 1CC
|
||||
|
||||
// Constructor
|
||||
explicit HiScoreEntry(const std::string& name = "", int score = 0, bool one_credit_complete = false)
|
||||
: name(name.substr(0, 6)),
|
||||
score(score),
|
||||
one_credit_complete(one_credit_complete) {}
|
||||
// Constructor
|
||||
explicit HiScoreEntry(const std::string& name = "", int score = 0, bool one_credit_complete = false)
|
||||
: name(name.substr(0, 6)),
|
||||
score(score),
|
||||
one_credit_complete(one_credit_complete) {}
|
||||
};
|
||||
|
||||
// --- Tipos ---
|
||||
@@ -23,37 +23,37 @@ using Table = std::vector<HiScoreEntry>; // Tabla de puntuaciones
|
||||
|
||||
// --- Clase ManageHiScoreTable ---
|
||||
class ManageHiScoreTable {
|
||||
public:
|
||||
// --- Constantes ---
|
||||
static constexpr int NO_ENTRY = -1;
|
||||
static constexpr int FILE_VERSION = 1;
|
||||
static constexpr int MAX_TABLE_SIZE = 100;
|
||||
static constexpr int MAX_NAME_SIZE = 50;
|
||||
static constexpr int MAX_SCORE = 999999999;
|
||||
public:
|
||||
// --- Constantes ---
|
||||
static constexpr int NO_ENTRY = -1;
|
||||
static constexpr int FILE_VERSION = 1;
|
||||
static constexpr int MAX_TABLE_SIZE = 100;
|
||||
static constexpr int MAX_NAME_SIZE = 50;
|
||||
static constexpr int MAX_SCORE = 999999999;
|
||||
|
||||
// --- Constructor y destructor ---
|
||||
explicit ManageHiScoreTable(Table& table) // Constructor con referencia a tabla
|
||||
: table_(table) {}
|
||||
~ManageHiScoreTable() = default; // Destructor
|
||||
// --- Constructor y destructor ---
|
||||
explicit ManageHiScoreTable(Table& table) // Constructor con referencia a tabla
|
||||
: table_(table) {}
|
||||
~ManageHiScoreTable() = default; // Destructor
|
||||
|
||||
// --- Métodos públicos ---
|
||||
void clear(); // Resetea la tabla a los valores por defecto
|
||||
auto add(const HiScoreEntry& entry) -> int; // Añade un elemento a la tabla (devuelve la posición en la que se inserta)
|
||||
auto loadFromFile(const std::string& file_path) -> bool; // Carga la tabla con los datos de un fichero
|
||||
auto saveToFile(const std::string& file_path) -> bool; // Guarda la tabla en un fichero
|
||||
// --- Métodos públicos ---
|
||||
void clear(); // Resetea la tabla a los valores por defecto
|
||||
auto add(const HiScoreEntry& entry) -> int; // Añade un elemento a la tabla (devuelve la posición en la que se inserta)
|
||||
auto loadFromFile(const std::string& file_path) -> bool; // Carga la tabla con los datos de un fichero
|
||||
auto saveToFile(const std::string& file_path) -> bool; // Guarda la tabla en un fichero
|
||||
|
||||
private:
|
||||
// --- Variables privadas ---
|
||||
Table& table_; // Referencia a la tabla con los records
|
||||
private:
|
||||
// --- Variables privadas ---
|
||||
Table& table_; // Referencia a la tabla con los records
|
||||
|
||||
// --- Métodos privados ---
|
||||
void sort(); // Ordena la tabla
|
||||
static auto calculateChecksum(const Table& table) -> unsigned int; // Calcula checksum de la tabla
|
||||
// --- Métodos privados ---
|
||||
void sort(); // Ordena la tabla
|
||||
static auto calculateChecksum(const Table& table) -> unsigned int; // Calcula checksum de la tabla
|
||||
|
||||
// Métodos auxiliares para loadFromFile
|
||||
static auto validateMagicNumber(SDL_IOStream* file, const std::string& file_path) -> bool;
|
||||
static auto validateVersion(SDL_IOStream* file, const std::string& file_path) -> bool;
|
||||
static auto readTableSize(SDL_IOStream* file, const std::string& file_path, int& table_size) -> bool;
|
||||
static auto readEntry(SDL_IOStream* file, const std::string& file_path, int index, HiScoreEntry& entry) -> bool;
|
||||
static auto verifyChecksum(SDL_IOStream* file, const std::string& file_path, const Table& temp_table) -> bool;
|
||||
// Métodos auxiliares para loadFromFile
|
||||
static auto validateMagicNumber(SDL_IOStream* file, const std::string& file_path) -> bool;
|
||||
static auto validateVersion(SDL_IOStream* file, const std::string& file_path) -> bool;
|
||||
static auto readTableSize(SDL_IOStream* file, const std::string& file_path, int& table_size) -> bool;
|
||||
static auto readEntry(SDL_IOStream* file, const std::string& file_path, int index, HiScoreEntry& entry) -> bool;
|
||||
static auto verifyChecksum(SDL_IOStream* file, const std::string& file_path, const Table& temp_table) -> bool;
|
||||
};
|
||||
Reference in New Issue
Block a user