Demanada ajuda a la IA pa que m'arregle un poc la meua merda: Para optimizar este código y evitar duplicar la lógica para cada jugador, podemos extraer el código común en una función reutilizable. Así, reducimos la repetición y mejoramos la legibilidad.
This commit is contained in:
@@ -2817,6 +2817,17 @@ void Game::addScoreToScoreBoard(std::string name, int score)
|
|||||||
manager->saveToFile(asset->get("score.bin"));
|
manager->saveToFile(asset->get("score.bin"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Saca del estado de GAME OVER al jugador si el otro está activo
|
||||||
|
void Game::checkAndUpdatePlayerStatus(int activePlayerIndex, int inactivePlayerIndex)
|
||||||
|
{
|
||||||
|
if (players[activePlayerIndex]->isGameOver() &&
|
||||||
|
!players[inactivePlayerIndex]->isGameOver() &&
|
||||||
|
!players[inactivePlayerIndex]->isWaiting())
|
||||||
|
{
|
||||||
|
players[activePlayerIndex]->setStatusPlaying(playerStatus::WAITING);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Comprueba el estado de los jugadores
|
// Comprueba el estado de los jugadores
|
||||||
void Game::checkPlayersStatusPlaying()
|
void Game::checkPlayersStatusPlaying()
|
||||||
{
|
{
|
||||||
@@ -2835,21 +2846,9 @@ void Game::checkPlayersStatusPlaying()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Saca del estado de GAME OVER al primer jugador si el segundo está activo
|
// Comprobar estado de ambos jugadores
|
||||||
const bool a1 = players[0]->isGameOver();
|
checkAndUpdatePlayerStatus(0, 1);
|
||||||
const bool b1 = !players[1]->isGameOver() && !players[1]->isWaiting();
|
checkAndUpdatePlayerStatus(1, 0);
|
||||||
if (a1 && b1)
|
|
||||||
{
|
|
||||||
players[0]->setStatusPlaying(playerStatus::WAITING);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Saca del estado de GAME OVER al segundo jugador si el primero está activo
|
|
||||||
const bool a2 = players[1]->isGameOver();
|
|
||||||
const bool b2 = !players[0]->isGameOver() && !players[0]->isWaiting();
|
|
||||||
if (a2 && b2)
|
|
||||||
{
|
|
||||||
players[1]->setStatusPlaying(playerStatus::WAITING);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene un jugador a partir de su "id"
|
// Obtiene un jugador a partir de su "id"
|
||||||
|
|||||||
@@ -444,6 +444,9 @@ private:
|
|||||||
// Añade una puntuación a la tabla de records
|
// Añade una puntuación a la tabla de records
|
||||||
void addScoreToScoreBoard(std::string name, int score);
|
void addScoreToScoreBoard(std::string name, int score);
|
||||||
|
|
||||||
|
// Saca del estado de GAME OVER al jugador si el otro está activo
|
||||||
|
void checkAndUpdatePlayerStatus(int activePlayerIndex, int inactivePlayerIndex);
|
||||||
|
|
||||||
// Comprueba el estado de juego de los jugadores
|
// Comprueba el estado de juego de los jugadores
|
||||||
void checkPlayersStatusPlaying();
|
void checkPlayersStatusPlaying();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user