fixing bugs

This commit is contained in:
2021-08-28 18:26:45 +02:00
parent 946ab62c30
commit 914b9e4123
9 changed files with 68 additions and 56 deletions

View File

@@ -89,6 +89,7 @@ Game::~Game()
mRenderer = nullptr;
mFileList = nullptr;
mLang = nullptr;
mInput[0] = nullptr;
mInput[1] = nullptr;
@@ -289,7 +290,6 @@ void Game::init()
mSection.subsection = GAME_SECTION_PLAY_1P;
mMenaceCurrent = 0;
mMenaceThreshold = 0;
//mHiScore = 0;
mHiScoreAchieved = false;
mCurrentStage = 0;
mStageBitmapCounter = STAGE_COUNTER;
@@ -318,6 +318,7 @@ void Game::init()
mHelper.itemCoffeeOdds = ITEM_COFFEE_ODDS;
mHelper.itemCoffeeMachineOdds = ITEM_COFFEE_MACHINE_ODDS;
mPowerBallEnabled = false;
mPowerBallCounter = 0;
mCoffeeMachineEnabled = false;
mPostFade = 0;
@@ -354,11 +355,6 @@ void Game::init()
// Iniciualiza el objeto para el fundido
mFade->init(0x27, 0x27, 0x36);
// Inicializa los objetos de texto
//mText->init();
//mTextScoreBoard->init();
//mTextBig->init();
// Inicializa el objeto con el menu de pausa
mMenuPause->init("PAUSE", 0, 12 * BLOCK, MENU_BACKGROUND_SOLID);
mMenuPause->addItem(mLang->getText(46));
@@ -1444,16 +1440,16 @@ void Game::deployEnemyFormation()
}
else
{
// Decrementa el contador de despliegues enemigos de la PowerBall
mPowerBallCounter > 0 ? mPowerBallCounter-- : mPowerBallCounter = 0;
// Elige una formación enemiga la azar
Uint8 set = (rand() % 10);
// Evita repetir la ultima formación enemiga desplegada
if (set == mLastEnemyDeploy)
{
set++;
set %= 10;
}
++set %= 10;
mLastEnemyDeploy = set;
if (mDebug.enabled)
@@ -1850,6 +1846,7 @@ void Game::createPowerBall()
mBalloon[getBalloonFreeIndex()]->init(posX, posY, POWER_BALL, BALLOON_VELX_POSITIVE * (((rand() % 2) * 2) - 1), mEnemySpeed, 100, mTextureBalloon, mRenderer);
mPowerBallEnabled = true;
mPowerBallCounter = POWERBALL_COUNTER;
}
// Establece a cero todos los valores del vector de objetos globo
@@ -2245,11 +2242,14 @@ void Game::createBullet(int x, int y, Uint8 kind, bool poweredUp, int owner)
void Game::updateItems()
{
for (int i = 0; i < MAX_ITEMS; i++)
if (mItem[i]->update() == 1)
{
mItem[i]->update();
if (mItem[i]->floorCollision())
{
JA_PlaySound(mSoundCollision);
mEffect.shake = true;
}
}
}
// Pinta los items activos
@@ -3317,7 +3317,7 @@ void Game::renderDebugInfo()
// Indica si se puede crear una powerball
bool Game::canPowerBallBeCreated()
{
if ((!mPowerBallEnabled) && (calculateScreenPower() > POWERBALL_SCREENPOWER_MINIMUM))
if ((!mPowerBallEnabled) && (calculateScreenPower() > POWERBALL_SCREENPOWER_MINIMUM) && (mPowerBallCounter == 0))
return true;
else
return false;