afegida la classe EnemyFormations
This commit is contained in:
@@ -898,16 +898,16 @@ void Game::deployEnemyFormation()
|
|||||||
|
|
||||||
lastEnemyDeploy = set;
|
lastEnemyDeploy = set;
|
||||||
|
|
||||||
const stage_t stage = enemyFormations->getStage(currentStage)
|
const stage_t stage = enemyFormations->getStage(currentStage);
|
||||||
const int numEnemies = enemyFormations->stage[currentStage].enemyPool->set[set]->numberOfEnemies;
|
const int numEnemies = stage.enemyPool->set[set]->numberOfEnemies;
|
||||||
for (int i = 0; i < numEnemies; ++i)
|
for (int i = 0; i < numEnemies; ++i)
|
||||||
{
|
{
|
||||||
createBalloon(enemyFormations->stage[currentStage].enemyPool->set[set]->init[i].x,
|
createBalloon(stage.enemyPool->set[set]->init[i].x,
|
||||||
enemyFormations->stage[currentStage].enemyPool->set[set]->init[i].y,
|
stage.enemyPool->set[set]->init[i].y,
|
||||||
enemyFormations->stage[currentStage].enemyPool->set[set]->init[i].kind,
|
stage.enemyPool->set[set]->init[i].kind,
|
||||||
enemyFormations->stage[currentStage].enemyPool->set[set]->init[i].velX,
|
stage.enemyPool->set[set]->init[i].velX,
|
||||||
enemySpeed,
|
enemySpeed,
|
||||||
enemyFormations->stage[currentStage].enemyPool->set[set]->init[i].creationCounter);
|
stage.enemyPool->set[set]->init[i].creationCounter);
|
||||||
}
|
}
|
||||||
|
|
||||||
enemyDeployCounter = 300;
|
enemyDeployCounter = 300;
|
||||||
@@ -918,7 +918,7 @@ void Game::deployEnemyFormation()
|
|||||||
// Aumenta el poder de la fase
|
// Aumenta el poder de la fase
|
||||||
void Game::increaseStageCurrentPower(int power)
|
void Game::increaseStageCurrentPower(int power)
|
||||||
{
|
{
|
||||||
enemyFormations->stage[currentStage].currentPower += power;
|
currentPower += power;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza el valor de hiScore en caso necesario
|
// Actualiza el valor de hiScore en caso necesario
|
||||||
@@ -985,19 +985,19 @@ void Game::renderPlayers()
|
|||||||
// Actualiza las variables de la fase
|
// Actualiza las variables de la fase
|
||||||
void Game::updateStage()
|
void Game::updateStage()
|
||||||
{
|
{
|
||||||
if (enemyFormations->stage[currentStage].currentPower >= enemyFormations->stage[currentStage].powerToComplete)
|
if (currentPower >= enemyFormations->getStage(currentStage).powerToComplete)
|
||||||
{
|
{
|
||||||
// Cambio de fase
|
// Cambio de fase
|
||||||
currentStage++;
|
currentStage++;
|
||||||
|
currentPower = 0;
|
||||||
lastStageReached = currentStage;
|
lastStageReached = currentStage;
|
||||||
if (currentStage == 10)
|
if (currentStage == 10)
|
||||||
{ // Ha llegado al final el juego
|
{ // Ha llegado al final el juego
|
||||||
gameCompleted = true; // Marca el juego como completado
|
gameCompleted = true; // Marca el juego como completado
|
||||||
currentStage = 9; // Deja el valor dentro de los limites
|
currentStage = 9; // Deja el valor dentro de los limites
|
||||||
enemyFormations->stage[currentStage].currentPower = 0; // Deja el poder a cero para que no vuelva a entrar en esta condición
|
destroyAllBalloons(); // Destruye a todos los enemigos
|
||||||
destroyAllBalloons(); // Destruye a todos los enemigos
|
currentPower = 0; // Vuelve a dejar el poder a cero, por lo que hubiera podido subir al destruir todos lo globos
|
||||||
enemyFormations->stage[currentStage].currentPower = 0; // Vuelve a dejar el poder a cero, por lo que hubiera podido subir al destruir todos lo globos
|
menaceCurrent = 255; // Sube el nivel de amenaza para que no cree mas globos
|
||||||
menaceCurrent = 255; // Sube el nivel de amenaza para que no cree mas globos
|
|
||||||
for (auto player : players)
|
for (auto player : players)
|
||||||
{ // Añade un millon de puntos a los jugadores que queden vivos
|
{ // Añade un millon de puntos a los jugadores que queden vivos
|
||||||
if (player->isAlive())
|
if (player->isAlive())
|
||||||
@@ -1186,7 +1186,7 @@ void Game::decBalloonSpeed()
|
|||||||
// Actualiza la velocidad de los globos en funcion del poder acumulado de la fase
|
// Actualiza la velocidad de los globos en funcion del poder acumulado de la fase
|
||||||
void Game::updateBalloonSpeed()
|
void Game::updateBalloonSpeed()
|
||||||
{
|
{
|
||||||
const float percent = (float)enemyFormations->stage[currentStage].currentPower / (float)enemyFormations->stage[currentStage].powerToComplete;
|
const float percent = (float)currentPower / (float)enemyFormations->getStage(currentStage).powerToComplete;
|
||||||
if (enemySpeed == BALLOON_SPEED_1)
|
if (enemySpeed == BALLOON_SPEED_1)
|
||||||
{
|
{
|
||||||
if (percent > 0.2f)
|
if (percent > 0.2f)
|
||||||
@@ -2374,7 +2374,7 @@ void Game::renderMessages()
|
|||||||
// STAGE NUMBER
|
// STAGE NUMBER
|
||||||
if (stageBitmapCounter < STAGE_COUNTER)
|
if (stageBitmapCounter < STAGE_COUNTER)
|
||||||
{
|
{
|
||||||
const int stageNum = enemyFormations->stage[currentStage].number;
|
const int stageNum = enemyFormations->getStage(currentStage).number;
|
||||||
std::string text;
|
std::string text;
|
||||||
|
|
||||||
if (stageNum == 10)
|
if (stageNum == 10)
|
||||||
@@ -2383,7 +2383,7 @@ void Game::renderMessages()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // X fases restantes
|
{ // X fases restantes
|
||||||
text = std::to_string(11 - enemyFormations->stage[currentStage].number) + lang->getText(38);
|
text = std::to_string(11 - stageNum) + lang->getText(38);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gameCompleted)
|
if (!gameCompleted)
|
||||||
@@ -2763,8 +2763,8 @@ void Game::updateScoreboard()
|
|||||||
scoreboard->setMult2(players[1]->getScoreMultiplier());
|
scoreboard->setMult2(players[1]->getScoreMultiplier());
|
||||||
|
|
||||||
// Resto de marcador
|
// Resto de marcador
|
||||||
scoreboard->setStage(enemyFormations->stage[currentStage].number);
|
scoreboard->setStage(enemyFormations->getStage(currentStage).number);
|
||||||
scoreboard->setPower((float)enemyFormations->stage[currentStage].currentPower / (float)enemyFormations->stage[currentStage].powerToComplete);
|
scoreboard->setPower((float)currentPower / (float)enemyFormations->getStage(currentStage).powerToComplete);
|
||||||
scoreboard->setHiScore(hiScore);
|
scoreboard->setHiScore(hiScore);
|
||||||
scoreboard->setHiScoreName(hiScoreName);
|
scoreboard->setHiScoreName(hiScoreName);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user