#include "manage_hiscore_table.h" // Constructor ManageHiScoreTable::ManageHiScoreTable(std::vector *table) { this->table = table; } // Destructor ManageHiScoreTable::~ManageHiScoreTable() { } // Resetea la tabla a los valores por defecto void ManageHiScoreTable::clear() { // Limpia la tabla table->clear(); // Añade 10 entradas predefinidas table->push_back({"Bry", 1000000}); table->push_back({"Usufondo", 500000}); table->push_back({"G.Lucas", 100000}); table->push_back({"P.Delgat", 50000}); table->push_back({"P.Arrabalera", 10000}); table->push_back({"Pelechano", 5000}); table->push_back({"Sahuquillo", 1000}); table->push_back({"Bacteriol", 500}); table->push_back({"Pepe", 200}); table->push_back({"Rosita", 100}); } // Añade un elemento a la tabla void ManageHiScoreTable::add(hiScoreEntry_t entry) { // Añade la entrada a la tabla table->push_back(entry); // Ordena la tabla sort(); // Deja solo las 10 primeras entradas if ((int)table->size() >= 10) { table->resize(table->size() - 10); } } // Ordena la tabla void ManageHiScoreTable::sort() { struct { bool operator()(hiScoreEntry_t a, hiScoreEntry_t b) const { return a.score > b.score; } } customLess; std::sort(table->begin(), table->end(), customLess); }