actualitzades les dos variables hiScore a una de tipo hiScoreEntry_t
This commit is contained in:
@@ -63,7 +63,7 @@ Game::Game(int playerID, int currentStage, Screen *screen, Asset *asset, Lang *l
|
||||
|
||||
Game::~Game()
|
||||
{
|
||||
saveScoreFile();
|
||||
//saveScoreFile();
|
||||
#ifdef RECORDING
|
||||
saveDemoFile();
|
||||
#endif
|
||||
@@ -690,16 +690,16 @@ bool Game::loadScoreFile()
|
||||
// Establece el valor de la máxima puntuación a partir del vector con los datos
|
||||
if (scoreDataFile[0] == 0)
|
||||
{
|
||||
hiScore = 10000;
|
||||
hiScore.score = 10000;
|
||||
}
|
||||
// Comprueba el checksum para ver si se ha modificado el fichero
|
||||
else if (scoreDataFile[0] % 43 == scoreDataFile[1])
|
||||
{
|
||||
hiScore = scoreDataFile[0];
|
||||
hiScore.score = scoreDataFile[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
hiScore = 10000;
|
||||
hiScore.score = 10000;
|
||||
}
|
||||
|
||||
return success;
|
||||
@@ -786,8 +786,8 @@ bool Game::loadDemoFile(std::string f, demoKeys_t (*dataFile)[TOTAL_DEMO_DATA])
|
||||
bool Game::saveScoreFile()
|
||||
{
|
||||
// Almacena la máxima puntuación en el fichero junto con un checksum
|
||||
scoreDataFile[0] = hiScore;
|
||||
scoreDataFile[1] = hiScore % 43;
|
||||
scoreDataFile[0] = hiScore.score;
|
||||
scoreDataFile[1] = hiScore.score % 43;
|
||||
|
||||
bool success = true;
|
||||
const std::string p = asset->get("score.bin");
|
||||
@@ -916,10 +916,10 @@ void Game::updateHiScore()
|
||||
{
|
||||
// Si la puntuación actual es mayor que la máxima puntuación
|
||||
for (auto player : players)
|
||||
if (player->getScore() > hiScore)
|
||||
if (player->getScore() > hiScore.score)
|
||||
{
|
||||
// Actualiza la máxima puntuación
|
||||
hiScore = player->getScore();
|
||||
hiScore.score = player->getScore();
|
||||
|
||||
// Si se supera la máxima puntuación emite sonido
|
||||
if (hiScoreAchieved == false)
|
||||
@@ -2815,9 +2815,10 @@ void Game::reloadTextures()
|
||||
void Game::setHiScore()
|
||||
{
|
||||
// Carga el fichero de puntos
|
||||
loadScoreFile();
|
||||
//loadScoreFile();
|
||||
|
||||
hiScoreName = "";
|
||||
hiScore.score = options->game.hiScoreTable[0].score;
|
||||
hiScore.name = options->game.hiScoreTable[0].name;
|
||||
}
|
||||
|
||||
// Actualiza el marcador
|
||||
@@ -2832,8 +2833,8 @@ void Game::updateScoreboard()
|
||||
// Resto de marcador
|
||||
scoreboard->setStage(enemyFormations->getStage(currentStage).number);
|
||||
scoreboard->setPower((float)currentPower / (float)enemyFormations->getStage(currentStage).powerToComplete);
|
||||
scoreboard->setHiScore(hiScore);
|
||||
scoreboard->setHiScoreName(hiScoreName);
|
||||
scoreboard->setHiScore(hiScore.score);
|
||||
scoreboard->setHiScoreName(hiScore.name);
|
||||
|
||||
// Lógica del marcador
|
||||
scoreboard->update();
|
||||
|
||||
@@ -166,9 +166,8 @@ private:
|
||||
// Variables
|
||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||
int hiScore; // Puntuación máxima
|
||||
bool hiScoreAchieved; // Indica si se ha superado la puntuación máxima
|
||||
std::string hiScoreName; // Nombre del jugador que ostenta la máxima puntuación
|
||||
hiScoreEntry_t hiScore; // Máxima puntuación y nombre de quien la ostenta
|
||||
int currentStage; // Indica la fase actual
|
||||
int stageBitmapCounter; // Contador para el tiempo visible del texto de Stage
|
||||
float stageBitmapPath[STAGE_COUNTER]; // Vector con los puntos Y por donde se desplaza el texto
|
||||
|
||||
Reference in New Issue
Block a user