Limpieza de código. Modificada la fuente nokiabig2. Puestas ayudas para los dos jugadores. Cambiado el tamaño del mensaje de juego completado
This commit is contained in:
117
source/game.cpp
117
source/game.cpp
@@ -388,9 +388,6 @@ void Game::init()
|
||||
initEnemyPools();
|
||||
initGameStages();
|
||||
|
||||
// BORRAR
|
||||
//mStage[mCurrentStage].currentPower = mStage[mCurrentStage].powerToComplete - 10;
|
||||
|
||||
// Modo debug
|
||||
mDebug.enabled = false;
|
||||
mDebug.enemySet = 0;
|
||||
@@ -400,7 +397,7 @@ void Game::init()
|
||||
mDemo.recording = false;
|
||||
mDemo.counter = 0;
|
||||
|
||||
// Iniciualiza el objeto para el fundido
|
||||
// Inicializa el objeto para el fundido
|
||||
mFade->init(0x27, 0x27, 0x36);
|
||||
|
||||
// Inicializa el objeto con el menu de pausa
|
||||
@@ -1526,12 +1523,6 @@ void Game::increaseStageCurrentPower(Uint8 power)
|
||||
mStage[mCurrentStage].currentPower += power;
|
||||
}
|
||||
|
||||
// Establece el valor de la variable
|
||||
/*void Game::setScore(Uint32 score)
|
||||
{
|
||||
mScore = score;
|
||||
}*/
|
||||
|
||||
// Establece el valor de la variable
|
||||
void Game::setHiScore(Uint32 score)
|
||||
{
|
||||
@@ -1607,39 +1598,8 @@ std::string Game::updateScoreText(Uint32 num)
|
||||
// Pinta el marcador en pantalla usando un objeto texto
|
||||
void Game::renderScoreBoard()
|
||||
{
|
||||
//color_t color = {0, 0, 0};
|
||||
|
||||
// Si el jugador esta muerto, no pintes el fondo del marcador, así que pase por encima cuando sale despedido
|
||||
//if (mPlayer[0]->isAlive())
|
||||
mSpriteScoreBoard->render();
|
||||
/*
|
||||
// SCORE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_WORD_Y - 6, mLang->getText(39), 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y - 6, updateScoreText(mPlayer[0]->getScore()), 0);
|
||||
|
||||
// HI-SCORE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_WORD_Y - 6, mLang->getText(40), 0);
|
||||
mText->writeCentered(PLAY_AREA_CENTER_THIRD_QUARTER_X, HISCORE_NUMBER_Y - 6, updateScoreText(mHiScore), 0);
|
||||
|
||||
// MULT
|
||||
color.g = 255;
|
||||
mText->writeColored(MULTIPLIER_WORD_X, MULTIPLIER_WORD_Y - 6, mLang->getText(41), color);
|
||||
|
||||
color.g = 192;
|
||||
mTextX2->writeShadowed(PLAY_AREA_CENTER_X - 16, SCORE_WORD_Y + 5, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(0, 1), color, 1);
|
||||
mText->writeShadowed(PLAY_AREA_CENTER_X - 2, SCORE_WORD_Y + 12, ".", color);
|
||||
mText->writeShadowed(PLAY_AREA_CENTER_X + 4, SCORE_WORD_Y + 12, std::to_string(mPlayer[0]->getScoreMultiplier()).substr(2, 1), color);
|
||||
|
||||
// STAGE
|
||||
mText->writeCentered(PLAY_AREA_CENTER_FIRST_QUARTER_X, SCORE_NUMBER_Y + 4, mLang->getText(42) + std::to_string(mStage[mCurrentStage].number), 0);
|
||||
|
||||
// POWER
|
||||
mSpritePowerMeter->setSpriteClip(256, 184, 40, 8);
|
||||
mSpritePowerMeter->render();
|
||||
const float percent = (mStage[mCurrentStage].currentPower * 40.0f) / mStage[mCurrentStage].powerToComplete;
|
||||
mSpritePowerMeter->setSpriteClip(296, 184, (int)percent, 8);
|
||||
mSpritePowerMeter->render();
|
||||
*/
|
||||
const int offset1 = 162;
|
||||
const int offset2 = offset1 + 7;
|
||||
const int offset3 = offset2 + 7;
|
||||
@@ -1801,8 +1761,6 @@ void Game::updateDeath()
|
||||
|
||||
if (allAreDead)
|
||||
{
|
||||
//JA_StopMusic();
|
||||
|
||||
if (mDeathCounter > 0)
|
||||
{
|
||||
mDeathCounter--;
|
||||
@@ -2244,7 +2202,6 @@ void Game::checkBulletBalloonCollision()
|
||||
int index = mBullet[j]->getOwner();
|
||||
mPlayer[index]->incScoreMultiplier();
|
||||
mPlayer[index]->addScore(Uint32(mBalloon[i]->getScore() * mPlayer[index]->getScoreMultiplier() * mDifficultyScoreMultiplier));
|
||||
//setScore(mPlayer[index]->getScore());
|
||||
updateHiScore();
|
||||
|
||||
// Explota el globo
|
||||
@@ -2281,7 +2238,7 @@ void Game::moveBullets()
|
||||
{
|
||||
for (int i = 0; i < MAX_BULLETS; i++)
|
||||
if (mBullet[i]->isActive())
|
||||
if (mBullet[i]->move() == MSG_BULLET_OUT)
|
||||
if (mBullet[i]->move() == BULLET_MOVE_OUT)
|
||||
mPlayer[mBullet[i]->getOwner()]->decScoreMultiplier();
|
||||
}
|
||||
|
||||
@@ -2357,11 +2314,6 @@ void Game::resetItems()
|
||||
// Devuelve un item en función del azar
|
||||
Uint8 Game::dropItem()
|
||||
{
|
||||
//if (mPlayer[0]->isPowerUp() || (mCoffeeMachineEnabled))
|
||||
// return NO_KIND;
|
||||
//else
|
||||
// return ITEM_COFFEE_MACHINE;
|
||||
|
||||
const Uint8 luckyNumber = rand() % 100;
|
||||
const Uint8 item = rand() % 6;
|
||||
|
||||
@@ -2426,6 +2378,7 @@ void Game::createItemScoreSprite(int x, int y, SmartSprite *sprite)
|
||||
{
|
||||
const Uint8 index = getSmartSpriteFreeIndex();
|
||||
|
||||
// Crea una copia del objeto
|
||||
*mSmartSprite[index] = *sprite;
|
||||
mSmartSprite[index]->setPosX(x);
|
||||
mSmartSprite[index]->setPosY(y);
|
||||
@@ -2842,12 +2795,12 @@ void Game::checkGameInput()
|
||||
mPlayer[index]->setInput(INPUT_RIGHT);
|
||||
|
||||
if (mDemo.dataFile[mDemo.counter].noInput == 1)
|
||||
mPlayer[index]->setInput(NO_INPUT);
|
||||
mPlayer[index]->setInput(INPUT_NULL);
|
||||
|
||||
if (mDemo.dataFile[mDemo.counter].fire == 1)
|
||||
if (mPlayer[index]->canFire())
|
||||
{
|
||||
mPlayer[index]->setInput(INPUT_FIRE_UP);
|
||||
mPlayer[index]->setInput(INPUT_BUTTON_2);
|
||||
createBullet(mPlayer[index]->getPosX() + (mPlayer[index]->getWidth() / 2) - 4, mPlayer[index]->getPosY() + (mPlayer[index]->getHeight() / 2), BULLET_UP, mPlayer[index]->isPowerUp(), index);
|
||||
mPlayer[index]->setFireCooldown(10);
|
||||
}
|
||||
@@ -2855,7 +2808,7 @@ void Game::checkGameInput()
|
||||
if (mDemo.dataFile[mDemo.counter].fireLeft == 1)
|
||||
if (mPlayer[index]->canFire())
|
||||
{
|
||||
mPlayer[index]->setInput(INPUT_FIRE_LEFT);
|
||||
mPlayer[index]->setInput(INPUT_BUTTON_1);
|
||||
createBullet(mPlayer[index]->getPosX() + (mPlayer[index]->getWidth() / 2) - 4, mPlayer[index]->getPosY() + (mPlayer[index]->getHeight() / 2), BULLET_UP, mPlayer[index]->isPowerUp(), index);
|
||||
mPlayer[index]->setFireCooldown(10);
|
||||
}
|
||||
@@ -2863,7 +2816,7 @@ void Game::checkGameInput()
|
||||
if (mDemo.dataFile[mDemo.counter].fireRight == 1)
|
||||
if (mPlayer[index]->canFire())
|
||||
{
|
||||
mPlayer[index]->setInput(INPUT_FIRE_RIGHT);
|
||||
mPlayer[index]->setInput(INPUT_BUTTON_3);
|
||||
createBullet(mPlayer[index]->getPosX() + (mPlayer[index]->getWidth() / 2) - 4, mPlayer[index]->getPosY() + (mPlayer[index]->getHeight() / 2), BULLET_UP, mPlayer[index]->isPowerUp(), index);
|
||||
mPlayer[index]->setFireCooldown(10);
|
||||
}
|
||||
@@ -2900,7 +2853,7 @@ void Game::checkGameInput()
|
||||
else
|
||||
{
|
||||
// Ninguno de los dos inputs anteriores
|
||||
mPlayer[i]->setInput(NO_INPUT);
|
||||
mPlayer[i]->setInput(INPUT_NULL);
|
||||
mDemo.keys.noInput = 1;
|
||||
}
|
||||
}
|
||||
@@ -2909,7 +2862,7 @@ void Game::checkGameInput()
|
||||
{
|
||||
if (mPlayer[i]->canFire())
|
||||
{
|
||||
mPlayer[i]->setInput(INPUT_FIRE_UP);
|
||||
mPlayer[i]->setInput(INPUT_BUTTON_2);
|
||||
createBullet(mPlayer[i]->getPosX() + (mPlayer[i]->getWidth() / 2) - 4, mPlayer[i]->getPosY() + (mPlayer[i]->getHeight() / 2), BULLET_UP, mPlayer[i]->isPowerUp(), i);
|
||||
mPlayer[i]->setFireCooldown(10);
|
||||
|
||||
@@ -2925,7 +2878,7 @@ void Game::checkGameInput()
|
||||
{
|
||||
if (mPlayer[i]->canFire())
|
||||
{
|
||||
mPlayer[i]->setInput(INPUT_FIRE_LEFT);
|
||||
mPlayer[i]->setInput(INPUT_BUTTON_1);
|
||||
createBullet(mPlayer[i]->getPosX() + (mPlayer[i]->getWidth() / 2) - 4, mPlayer[i]->getPosY() + (mPlayer[i]->getHeight() / 2), BULLET_LEFT, mPlayer[i]->isPowerUp(), i);
|
||||
mPlayer[i]->setFireCooldown(10);
|
||||
|
||||
@@ -2941,7 +2894,7 @@ void Game::checkGameInput()
|
||||
{
|
||||
if (mPlayer[i]->canFire())
|
||||
{
|
||||
mPlayer[i]->setInput(INPUT_FIRE_RIGHT);
|
||||
mPlayer[i]->setInput(INPUT_BUTTON_3);
|
||||
createBullet(mPlayer[i]->getPosX() + (mPlayer[i]->getWidth() / 2) - 4, mPlayer[i]->getPosY() + (mPlayer[i]->getHeight() / 2), BULLET_RIGHT, mPlayer[i]->isPowerUp(), i);
|
||||
mPlayer[i]->setFireCooldown(10);
|
||||
|
||||
@@ -2981,10 +2934,6 @@ void Game::renderMessages()
|
||||
if ((mCounter < STAGE_COUNTER) && (!mDemo.enabled))
|
||||
{
|
||||
mSpriteGetReady->setPosX((int)mGetReadyBitmapPath[mCounter]);
|
||||
//mSpriteGetReady->render();
|
||||
//const color_t color = {0x17, 0x17, 0x26};
|
||||
//mTextBig->writeShadowed((int)mGetReadyBitmapPath[mCounter], PLAY_AREA_CENTER_Y - 8, mLang->getText(75), color, 2);
|
||||
//mTextBig->writeDX(TXT_STROKE, (int)mGetReadyBitmapPath[mCounter], PLAY_AREA_CENTER_Y - 8, mLang->getText(75), 1, noColor, 1, shdwTxtColor);
|
||||
mTextNokiaBig2->write((int)mGetReadyBitmapPath[mCounter], PLAY_AREA_CENTER_Y - 8, mLang->getText(75), -2);
|
||||
}
|
||||
|
||||
@@ -2992,11 +2941,7 @@ void Game::renderMessages()
|
||||
if (mTimeStopped)
|
||||
{
|
||||
if ((mTimeStoppedCounter > 100) || (mTimeStoppedCounter % 10 > 4))
|
||||
mTextNokia2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mLang->getText(36) + std::to_string(mTimeStoppedCounter / 10), -1, noColor, 1, shdwTxtColor);
|
||||
//{
|
||||
// mTextNokiaBig2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mLang->getText(36), -2);
|
||||
// mTextNokiaBig2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y + mTextNokiaBig2->getCharacterWidth() + 2, std::to_string(mTimeStoppedCounter / 10), -2);
|
||||
//}
|
||||
mTextNokia2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, PLAY_AREA_FIRST_QUARTER_Y, mLang->getText(36) + std::to_string(mTimeStoppedCounter / 10), -1, noColor, 1, shdwTxtColor);
|
||||
|
||||
if (mTimeStoppedCounter > 100)
|
||||
{
|
||||
@@ -3027,7 +2972,7 @@ void Game::renderMessages()
|
||||
{ // Texto de juego completado
|
||||
text = mLang->getText(50);
|
||||
mTextNokiaBig2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter], text, -2, noColor, 1, shdwTxtColor);
|
||||
mTextNokiaBig2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter] + mTextNokiaBig2->getCharacterWidth() + 2, mLang->getText(76), -1, noColor, 1, shdwTxtColor);
|
||||
mTextNokia2->writeDX(TXT_CENTER, PLAY_AREA_CENTER_X, mStageBitmapPath[mStageBitmapCounter] + mTextNokiaBig2->getCharacterWidth() + 2, mLang->getText(76), -1, noColor, 1, shdwTxtColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3197,13 +3142,7 @@ void Game::runPausedGame()
|
||||
}
|
||||
}
|
||||
|
||||
// Dibuja los objetos
|
||||
//renderBackground();
|
||||
//renderBalloons();
|
||||
//renderBullets();
|
||||
//for (int i = 0; i < mNumPlayers; i++)
|
||||
// mPlayer[i]->render();
|
||||
//renderScoreBoard();
|
||||
// Pinta el escenario
|
||||
renderPlayField();
|
||||
mMenuPause->render();
|
||||
mFade->render();
|
||||
@@ -3218,7 +3157,6 @@ void Game::runPausedGame()
|
||||
switch (mMenuPause->getItemSelected())
|
||||
{
|
||||
case 0:
|
||||
//mMenuPause->reset();
|
||||
mSection.name = PROG_SECTION_GAME;
|
||||
if (mNumPlayers == 1)
|
||||
mSection.subsection = GAME_SECTION_PLAY_1P;
|
||||
@@ -3229,7 +3167,6 @@ void Game::runPausedGame()
|
||||
break;
|
||||
|
||||
case 1:
|
||||
//mMenuPause->reset();
|
||||
mFade->setFadeType(FADE_CENTER);
|
||||
mFade->activateFade();
|
||||
break;
|
||||
@@ -3346,13 +3283,9 @@ void Game::runGameOverScreen()
|
||||
void Game::renderDebugInfo()
|
||||
{
|
||||
const color_t color = {0xFF, 0x20, 0x20};
|
||||
//mText->writeShadowed(2, 2 + 0 * BLOCK, "POW: " + std::to_string(mPlayer[0]->mPowerUpCounter), color);
|
||||
//if (mHelper.needCoffeeMachine)
|
||||
// mText->writeShadowed(2, 2 + 1 * BLOCK, "NEED COFFEMACHINE", color);
|
||||
|
||||
if (mDebug.enabled)
|
||||
{
|
||||
//SDL_RenderSetLogicalSize(mRenderer, SCREEN_WIDTH * 2, SCREEN_HEIGHT * 2);
|
||||
mText->writeShadowed(2, 2 + 0 * BLOCK, "menace(umb): " + std::to_string(mMenaceCurrent) + "(" + std::to_string(mMenaceThreshold) + ")", color);
|
||||
mText->writeShadowed(2, 2 + 1 * BLOCK, "currentPower: " + std::to_string(mStage[mCurrentStage].currentPower), color);
|
||||
mText->writeShadowed(2, 2 + 2 * BLOCK, "mCurrentStage:" + std::to_string(mCurrentStage), color);
|
||||
@@ -3451,19 +3384,21 @@ void Game::updateGameCompleted()
|
||||
// Actualiza las variables de ayuda
|
||||
void Game::updateHelper()
|
||||
{
|
||||
// El ayudante solo funciona para un jugador
|
||||
// Solo ofrece ayuda cuando la amenaza o la velocidad es elevada
|
||||
// Solo ofrece ayuda cuando la amenaza es elevada
|
||||
if (mMenaceCurrent > 15)
|
||||
{
|
||||
if (mPlayer[0]->getCoffees() == 0)
|
||||
mHelper.needCoffee = true;
|
||||
else
|
||||
mHelper.needCoffee = false;
|
||||
for (int i = 0; i < mNumPlayers; i++)
|
||||
{
|
||||
if (mPlayer[i]->getCoffees() == 0)
|
||||
mHelper.needCoffee = true;
|
||||
else
|
||||
mHelper.needCoffee = false;
|
||||
|
||||
if (!mPlayer[0]->isPowerUp())
|
||||
mHelper.needCoffeeMachine = true;
|
||||
else
|
||||
mHelper.needCoffeeMachine = false;
|
||||
if (!mPlayer[i]->isPowerUp())
|
||||
mHelper.needCoffeeMachine = true;
|
||||
else
|
||||
mHelper.needCoffeeMachine = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user