Cambiados los accesos a vector de .at a []

This commit is contained in:
2022-12-07 09:29:06 +01:00
parent 7adb049b37
commit c87e1e68a9
8 changed files with 208 additions and 208 deletions

View File

@@ -849,8 +849,8 @@ void Balloon::updateBounce()
{ {
if (bouncing.enabled) if (bouncing.enabled)
{ {
bouncing.zoomW = bouncing.w.at(bouncing.counter / bouncing.speed); bouncing.zoomW = bouncing.w[bouncing.counter / bouncing.speed];
bouncing.zoomH = bouncing.h.at(bouncing.counter / bouncing.speed); bouncing.zoomH = bouncing.h[bouncing.counter / bouncing.speed];
sprite->setZoomW(bouncing.zoomW); sprite->setZoomW(bouncing.zoomW);
sprite->setZoomH(bouncing.zoomH); sprite->setZoomH(bouncing.zoomH);
bouncing.despX = (sprite->getSpriteClip().w - (sprite->getSpriteClip().w * bouncing.zoomW)); bouncing.despX = (sprite->getSpriteClip().w - (sprite->getSpriteClip().w * bouncing.zoomW));

View File

@@ -456,8 +456,8 @@ bool Director::saveConfigFile()
file << "\n## OTHER OPTIONS\n"; file << "\n## OTHER OPTIONS\n";
file << "language=" + std::to_string(options->language) + "\n"; file << "language=" + std::to_string(options->language) + "\n";
file << "difficulty=" + std::to_string(options->difficulty) + "\n"; file << "difficulty=" + std::to_string(options->difficulty) + "\n";
file << "input0=" + std::to_string(options->input.at(0).deviceType) + "\n"; file << "input0=" + std::to_string(options->input[0].deviceType) + "\n";
file << "input1=" + std::to_string(options->input.at(1).deviceType) + "\n"; file << "input1=" + std::to_string(options->input[1].deviceType) + "\n";
file << "\n## ONLINE OPTIONS\n"; file << "\n## ONLINE OPTIONS\n";
file << "enabled=" + boolToString(options->online.enabled) + "\n"; file << "enabled=" + boolToString(options->online.enabled) + "\n";
@@ -667,12 +667,12 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
else if (var == "input0") else if (var == "input0")
{ {
options->input.at(0).deviceType = std::stoi(value); options->input[0].deviceType = std::stoi(value);
} }
else if (var == "input1") else if (var == "input1")
{ {
options->input.at(1).deviceType = std::stoi(value); options->input[1].deviceType = std::stoi(value);
} }
else if (var == "enabled") else if (var == "enabled")

View File

@@ -201,14 +201,14 @@ void Game::init()
// Crea los jugadores // Crea los jugadores
if (numPlayers == 1) if (numPlayers == 1)
{ {
Player *player = new Player(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures.at(options->playerSelected), playerAnimations); Player *player = new Player(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures[options->playerSelected], playerAnimations);
players.push_back(player); players.push_back(player);
} }
else if (numPlayers == 2) else if (numPlayers == 2)
{ {
Player *player1 = new Player((PLAY_AREA_CENTER_FIRST_QUARTER_X * ((0 * 2) + 1)) - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures.at(0), playerAnimations); Player *player1 = new Player((PLAY_AREA_CENTER_FIRST_QUARTER_X * ((0 * 2) + 1)) - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures[0], playerAnimations);
Player *player2 = new Player((PLAY_AREA_CENTER_FIRST_QUARTER_X * ((1 * 2) + 1)) - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures.at(1), playerAnimations); Player *player2 = new Player((PLAY_AREA_CENTER_FIRST_QUARTER_X * ((1 * 2) + 1)) - 11, PLAY_AREA_BOTTOM - 24, renderer, playerTextures[1], playerAnimations);
players.push_back(player1); players.push_back(player1);
players.push_back(player2); players.push_back(player2);
} }
@@ -735,7 +735,7 @@ bool Game::sendOnlineScore()
return true; return true;
} }
const int score = players.at(0)->getScore(); const int score = players[0]->getScore();
if (score <= options->online.score) if (score <= options->online.score)
{ {
return true; return true;
@@ -1648,21 +1648,21 @@ void Game::renderScoreBoard()
// PLAYER1 - SCORE // PLAYER1 - SCORE
textScoreBoard->writeCentered(offsetLeft, offset1, lang->getText(53)); textScoreBoard->writeCentered(offsetLeft, offset1, lang->getText(53));
textScoreBoard->writeCentered(offsetLeft, offset2, updateScoreText(players.at(0)->getScore())); textScoreBoard->writeCentered(offsetLeft, offset2, updateScoreText(players[0]->getScore()));
// PLAYER1 - MULT // PLAYER1 - MULT
textScoreBoard->writeCentered(offsetLeft, offset3, lang->getText(55)); textScoreBoard->writeCentered(offsetLeft, offset3, lang->getText(55));
textScoreBoard->writeCentered(offsetLeft, offset4, std::to_string(players.at(0)->getScoreMultiplier()).substr(0, 3)); textScoreBoard->writeCentered(offsetLeft, offset4, std::to_string(players[0]->getScoreMultiplier()).substr(0, 3));
if (numPlayers == 2) if (numPlayers == 2)
{ {
// PLAYER2 - SCORE // PLAYER2 - SCORE
textScoreBoard->writeCentered(offsetRight, offset1, lang->getText(54)); textScoreBoard->writeCentered(offsetRight, offset1, lang->getText(54));
textScoreBoard->writeCentered(offsetRight, offset2, updateScoreText(players.at(1)->getScore())); textScoreBoard->writeCentered(offsetRight, offset2, updateScoreText(players[1]->getScore()));
// PLAYER2 - MULT // PLAYER2 - MULT
textScoreBoard->writeCentered(offsetRight, offset3, lang->getText(55)); textScoreBoard->writeCentered(offsetRight, offset3, lang->getText(55));
textScoreBoard->writeCentered(offsetRight, offset4, std::to_string(players.at(1)->getScoreMultiplier()).substr(0, 3)); textScoreBoard->writeCentered(offsetRight, offset4, std::to_string(players[1]->getScoreMultiplier()).substr(0, 3));
} }
else else
{ {
@@ -1872,7 +1872,7 @@ void Game::renderBalloons()
Uint8 Game::createBalloon(float x, int y, Uint8 kind, float velx, float speed, Uint16 creationtimer) Uint8 Game::createBalloon(float x, int y, Uint8 kind, float velx, float speed, Uint16 creationtimer)
{ {
const int index = (kind - 1) % 4; const int index = (kind - 1) % 4;
Balloon *b = new Balloon(x, y, kind, velx, speed, creationtimer, balloonTextures.at(index), balloonAnimations.at(index), renderer); Balloon *b = new Balloon(x, y, kind, velx, speed, creationtimer, balloonTextures[index], balloonAnimations[index], renderer);
balloons.push_back(b); balloons.push_back(b);
return (Uint8)(balloons.size() - 1); return (Uint8)(balloons.size() - 1);
} }
@@ -1890,7 +1890,7 @@ void Game::createPowerBall()
const int x[3] = {left, center, right}; const int x[3] = {left, center, right};
const float vx[3] = {BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_NEGATIVE}; const float vx[3] = {BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_NEGATIVE};
Balloon *b = new Balloon(x[luck], posY, POWER_BALL, vx[luck], enemySpeed, 100, balloonTextures.at(3), balloonAnimations.at(3), renderer); Balloon *b = new Balloon(x[luck], posY, POWER_BALL, vx[luck], enemySpeed, 100, balloonTextures[3], balloonAnimations[3], renderer);
balloons.push_back(b); balloons.push_back(b);
powerBallEnabled = true; powerBallEnabled = true;
@@ -2035,25 +2035,25 @@ void Game::popBalloon(Balloon *balloon)
// En cualquier otro caso, crea dos globos de un tipo inferior // En cualquier otro caso, crea dos globos de un tipo inferior
default: default:
const int index = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_NEGATIVE, enemySpeed, 0); const int index = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_NEGATIVE, enemySpeed, 0);
balloons.at(index)->allignTo(balloon->getPosX() + (balloon->getWidth() / 2)); balloons[index]->allignTo(balloon->getPosX() + (balloon->getWidth() / 2));
if (balloons.at(index)->getClass() == BALLOON_CLASS) if (balloons[index]->getClass() == BALLOON_CLASS)
{ {
balloons.at(index)->setVelY(-2.50f); balloons[index]->setVelY(-2.50f);
} }
else else
{ {
balloons.at(index)->setVelY(BALLOON_VELX_NEGATIVE); balloons[index]->setVelY(BALLOON_VELX_NEGATIVE);
} }
const int index2 = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_POSITIVE, enemySpeed, 0); const int index2 = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_POSITIVE, enemySpeed, 0);
balloons.at(index2)->allignTo(balloon->getPosX() + (balloon->getWidth() / 2)); balloons[index2]->allignTo(balloon->getPosX() + (balloon->getWidth() / 2));
if (balloons.at(index2)->getClass() == BALLOON_CLASS) if (balloons[index2]->getClass() == BALLOON_CLASS)
{ {
balloons.at(index2)->setVelY(-2.50f); balloons[index2]->setVelY(-2.50f);
} }
else else
{ {
balloons.at(index2)->setVelY(BALLOON_VELX_NEGATIVE); balloons[index2]->setVelY(BALLOON_VELX_NEGATIVE);
} }
// Elimina el globo // Elimina el globo
@@ -2201,9 +2201,9 @@ void Game::freeBalloons()
{ {
for (int i = balloons.size() - 1; i >= 0; --i) for (int i = balloons.size() - 1; i >= 0; --i)
{ {
if (balloons.at(i)->isEnabled() == false) if (balloons[i]->isEnabled() == false)
{ {
delete balloons.at(i); delete balloons[i];
balloons.erase(balloons.begin() + i); balloons.erase(balloons.begin() + i);
} }
} }
@@ -2309,8 +2309,8 @@ void Game::checkBulletBalloonCollision()
{ {
// Otorga los puntos correspondientes al globo al jugador que disparó la bala // Otorga los puntos correspondientes al globo al jugador que disparó la bala
int index = bullet->getOwner(); int index = bullet->getOwner();
players.at(index)->incScoreMultiplier(); players[index]->incScoreMultiplier();
players.at(index)->addScore(Uint32(balloon->getScore() * players.at(index)->getScoreMultiplier() * difficultyScoreMultiplier)); players[index]->addScore(Uint32(balloon->getScore() * players[index]->getScoreMultiplier() * difficultyScoreMultiplier));
updateHiScore(); updateHiScore();
// Explota el globo // Explota el globo
@@ -2336,7 +2336,7 @@ void Game::checkBulletBalloonCollision()
} }
else else
{ {
createItem(droppeditem, players.at(index)->getPosX(), 0); createItem(droppeditem, players[index]->getPosX(), 0);
coffeeMachineEnabled = true; coffeeMachineEnabled = true;
} }
} }
@@ -2357,7 +2357,7 @@ void Game::moveBullets()
{ {
if (bullet->move() == BULLET_MOVE_OUT) if (bullet->move() == BULLET_MOVE_OUT)
{ {
players.at(bullet->getOwner())->decScoreMultiplier(); players[bullet->getOwner()]->decScoreMultiplier();
} }
} }
} }
@@ -2389,9 +2389,9 @@ void Game::freeBullets()
{ {
for (int i = bullets.size() - 1; i >= 0; --i) for (int i = bullets.size() - 1; i >= 0; --i)
{ {
if (bullets.at(i)->isEnabled() == false) if (bullets[i]->isEnabled() == false)
{ {
delete bullets.at(i); delete bullets[i];
bullets.erase(bullets.begin() + i); bullets.erase(bullets.begin() + i);
} }
} }
@@ -2503,7 +2503,7 @@ Uint8 Game::dropItem()
// Crea un objeto item // Crea un objeto item
void Game::createItem(Uint8 kind, float x, float y) void Game::createItem(Uint8 kind, float x, float y)
{ {
Item *item = new Item(kind, x, y, itemTextures.at(kind), itemAnimations.at(kind), renderer); Item *item = new Item(kind, x, y, itemTextures[kind], itemAnimations[kind], renderer);
items.push_back(item); items.push_back(item);
} }
@@ -2514,9 +2514,9 @@ void Game::freeItems()
{ {
for (int i = items.size() - 1; i >= 0; --i) for (int i = items.size() - 1; i >= 0; --i)
{ {
if (items.at(i)->isEnabled() == false) if (items[i]->isEnabled() == false)
{ {
delete items.at(i); delete items[i];
items.erase(items.begin() + i); items.erase(items.begin() + i);
} }
} }
@@ -2546,9 +2546,9 @@ void Game::freeSmartSprites()
{ {
for (int i = smartSprites.size() - 1; i >= 0; --i) for (int i = smartSprites.size() - 1; i >= 0; --i)
{ {
if (smartSprites.at(i)->hasFinished()) if (smartSprites[i]->hasFinished())
{ {
delete smartSprites.at(i); delete smartSprites[i];
smartSprites.erase(smartSprites.begin() + i); smartSprites.erase(smartSprites.begin() + i);
} }
} }
@@ -2588,7 +2588,7 @@ void Game::updateShakeEffect()
// Crea un SmartSprite para arrojar el item café al recibir un impacto // Crea un SmartSprite para arrojar el item café al recibir un impacto
void Game::throwCoffee(int x, int y) void Game::throwCoffee(int x, int y)
{ {
SmartSprite *ss = new SmartSprite(itemTextures.at(4), renderer); SmartSprite *ss = new SmartSprite(itemTextures[4], renderer);
smartSprites.push_back(ss); smartSprites.push_back(ss);
ss->setPosX(x - 8); ss->setPosX(x - 8);
@@ -2919,7 +2919,7 @@ void Game::render()
renderScoreBoard(); renderScoreBoard();
renderPlayers(); renderPlayers();
if ((deathCounter <= 150) && !players.at(0)->isAlive()) if ((deathCounter <= 150) && !players[0]->isAlive())
{ {
renderDeathFade(150 - deathCounter); renderDeathFade(150 - deathCounter);
} }
@@ -2976,45 +2976,45 @@ void Game::checkGameInput()
const int index = 0; const int index = 0;
if (demo.dataFile[demo.counter].left == 1) if (demo.dataFile[demo.counter].left == 1)
{ {
players.at(index)->setInput(INPUT_LEFT); players[index]->setInput(INPUT_LEFT);
} }
if (demo.dataFile[demo.counter].right == 1) if (demo.dataFile[demo.counter].right == 1)
{ {
players.at(index)->setInput(INPUT_RIGHT); players[index]->setInput(INPUT_RIGHT);
} }
if (demo.dataFile[demo.counter].noInput == 1) if (demo.dataFile[demo.counter].noInput == 1)
{ {
players.at(index)->setInput(INPUT_NULL); players[index]->setInput(INPUT_NULL);
} }
if (demo.dataFile[demo.counter].fire == 1) if (demo.dataFile[demo.counter].fire == 1)
{ {
if (players.at(index)->canFire()) if (players[index]->canFire())
{ {
players.at(index)->setInput(INPUT_BUTTON_2); players[index]->setInput(INPUT_BUTTON_2);
createBullet(players.at(index)->getPosX() + (players.at(index)->getWidth() / 2) - 4, players.at(index)->getPosY() + (players.at(index)->getHeight() / 2), BULLET_UP, players.at(index)->isPowerUp(), index); createBullet(players[index]->getPosX() + (players[index]->getWidth() / 2) - 4, players[index]->getPosY() + (players[index]->getHeight() / 2), BULLET_UP, players[index]->isPowerUp(), index);
players.at(index)->setFireCooldown(10); players[index]->setFireCooldown(10);
} }
} }
if (demo.dataFile[demo.counter].fireLeft == 1) if (demo.dataFile[demo.counter].fireLeft == 1)
{ {
if (players.at(index)->canFire()) if (players[index]->canFire())
{ {
players.at(index)->setInput(INPUT_BUTTON_1); players[index]->setInput(INPUT_BUTTON_1);
createBullet(players.at(index)->getPosX() + (players.at(index)->getWidth() / 2) - 4, players.at(index)->getPosY() + (players.at(index)->getHeight() / 2), BULLET_UP, players.at(index)->isPowerUp(), index); createBullet(players[index]->getPosX() + (players[index]->getWidth() / 2) - 4, players[index]->getPosY() + (players[index]->getHeight() / 2), BULLET_UP, players[index]->isPowerUp(), index);
players.at(index)->setFireCooldown(10); players[index]->setFireCooldown(10);
} }
} }
if (demo.dataFile[demo.counter].fireRight == 1) if (demo.dataFile[demo.counter].fireRight == 1)
{ {
if (players.at(index)->canFire()) if (players[index]->canFire())
{ {
players.at(index)->setInput(INPUT_BUTTON_3); players[index]->setInput(INPUT_BUTTON_3);
createBullet(players.at(index)->getPosX() + (players.at(index)->getWidth() / 2) - 4, players.at(index)->getPosY() + (players.at(index)->getHeight() / 2), BULLET_UP, players.at(index)->isPowerUp(), index); createBullet(players[index]->getPosX() + (players[index]->getWidth() / 2) - 4, players[index]->getPosY() + (players[index]->getHeight() / 2), BULLET_UP, players[index]->isPowerUp(), index);
players.at(index)->setFireCooldown(10); players[index]->setFireCooldown(10);
} }
} }
@@ -3296,7 +3296,7 @@ section_t Game::run()
// Reproduce la música // Reproduce la música
if (!gameCompleted) if (!gameCompleted)
{ {
if (players.at(0)->isAlive()) if (players[0]->isAlive())
{ {
JA_PlayMusic(gameMusic); JA_PlayMusic(gameMusic);
} }
@@ -3408,7 +3408,7 @@ void Game::renderPausedGame()
renderScoreBoard(); renderScoreBoard();
renderPlayers(); renderPlayers();
if ((deathCounter <= 150) && !players.at(0)->isAlive()) if ((deathCounter <= 150) && !players[0]->isAlive())
{ {
renderDeathFade(150 - deathCounter); renderDeathFade(150 - deathCounter);
} }
@@ -3578,7 +3578,7 @@ void Game::renderGameOverScreen()
textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 6), lang->getText(43)); textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 6), lang->getText(43));
// Your Score // Your Score
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 3), lang->getText(44) + std::to_string(players.at(0)->getScore())); text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 3), lang->getText(44) + std::to_string(players[0]->getScore()));
} }
else else
{ {
@@ -3592,10 +3592,10 @@ void Game::renderGameOverScreen()
textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 7), lang->getText(43)); textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 7), lang->getText(43));
// Player1 Score // Player1 Score
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), lang->getText(77) + std::to_string(players.at(0)->getScore())); text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), lang->getText(77) + std::to_string(players[0]->getScore()));
// Player2 Score // Player2 Score
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 2), lang->getText(78) + std::to_string(players.at(1)->getScore())); text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 2), lang->getText(78) + std::to_string(players[1]->getScore()));
} }
// Continue? // Continue?

View File

@@ -120,14 +120,14 @@ void HiScoreTable::render()
for (int i = numUsers; i < 10; ++i) for (int i = numUsers; i < 10; ++i)
{ {
const int nameLenght = names.at(i - numUsers).length(); const int nameLenght = names[i - numUsers].length();
const int numDots = 20 - nameLenght; const int numDots = 20 - nameLenght;
std::string dots = ""; std::string dots = "";
for (int j = 0; j < numDots; ++j) for (int j = 0; j < numDots; ++j)
{ {
dots = dots + "."; dots = dots + ".";
} }
const std::string line = names.at(i - numUsers) + dots + "0000000"; const std::string line = names[i - numUsers] + dots + "0000000";
text->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, (i * spaceBetweenLines) + spaceBetweenHeader, line, 1, orangeColor, 1, shdwTxtColor); text->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, (i * spaceBetweenLines) + spaceBetweenHeader, line, 1, orangeColor, 1, shdwTxtColor);
} }
} }

View File

@@ -33,7 +33,7 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset,
eventHandler = new SDL_Event(); eventHandler = new SDL_Event();
sprite = new Sprite(0, 0, 16, 16, itemTextures.at(0), renderer); sprite = new Sprite(0, 0, 16, 16, itemTextures[0], renderer);
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
// Crea un backbuffer para el renderizador // Crea un backbuffer para el renderizador
@@ -144,35 +144,35 @@ void Instructions::render()
} }
// Disquito // Disquito
sprite->setTexture(itemTextures.at(0)); sprite->setTexture(itemTextures[0]);
sprite->setPos(destRect1); sprite->setPos(destRect1);
srcRect.y = 16 * (((counter + 12) / 36) % 2); srcRect.y = 16 * (((counter + 12) / 36) % 2);
sprite->setSpriteClip(srcRect); sprite->setSpriteClip(srcRect);
sprite->render(); sprite->render();
// Gavineixon // Gavineixon
sprite->setTexture(itemTextures.at(1)); sprite->setTexture(itemTextures[1]);
sprite->setPos(destRect2); sprite->setPos(destRect2);
srcRect.y = 16 * (((counter + 9) / 36) % 2); srcRect.y = 16 * (((counter + 9) / 36) % 2);
sprite->setSpriteClip(srcRect); sprite->setSpriteClip(srcRect);
sprite->render(); sprite->render();
// Pacmar // Pacmar
sprite->setTexture(itemTextures.at(2)); sprite->setTexture(itemTextures[2]);
sprite->setPos(destRect3); sprite->setPos(destRect3);
srcRect.y = 16 * (((counter + 6) / 36) % 2); srcRect.y = 16 * (((counter + 6) / 36) % 2);
sprite->setSpriteClip(srcRect); sprite->setSpriteClip(srcRect);
sprite->render(); sprite->render();
// Time Stopper // Time Stopper
sprite->setTexture(itemTextures.at(3)); sprite->setTexture(itemTextures[3]);
sprite->setPos(destRect4); sprite->setPos(destRect4);
srcRect.y = 16 * (((counter + 3) / 36) % 2); srcRect.y = 16 * (((counter + 3) / 36) % 2);
sprite->setSpriteClip(srcRect); sprite->setSpriteClip(srcRect);
sprite->render(); sprite->render();
// Coffee // Coffee
sprite->setTexture(itemTextures.at(4)); sprite->setTexture(itemTextures[4]);
sprite->setPos(destRect5); sprite->setPos(destRect5);
srcRect.y = 16 * (((counter + 0) / 36) % 2); srcRect.y = 16 * (((counter + 0) / 36) % 2);
sprite->setSpriteClip(srcRect); sprite->setSpriteClip(srcRect);

View File

@@ -37,54 +37,54 @@ Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang)
bitmaps.push_back(ss); bitmaps.push_back(ss);
} }
bitmaps.at(0)->setPosX(-128); bitmaps[0]->setPosX(-128);
bitmaps.at(0)->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24); bitmaps[0]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
bitmaps.at(0)->setVelX(0.0f); bitmaps[0]->setVelX(0.0f);
bitmaps.at(0)->setVelY(0.0f); bitmaps[0]->setVelY(0.0f);
bitmaps.at(0)->setAccelX(0.6f); bitmaps[0]->setAccelX(0.6f);
bitmaps.at(0)->setAccelY(0.0f); bitmaps[0]->setAccelY(0.0f);
bitmaps.at(0)->setSpriteClip(0, 0, 128, 96); bitmaps[0]->setSpriteClip(0, 0, 128, 96);
bitmaps.at(1)->setPosX(GAMECANVAS_WIDTH); bitmaps[1]->setPosX(GAMECANVAS_WIDTH);
bitmaps.at(1)->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24); bitmaps[1]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
bitmaps.at(1)->setVelX(-1.0f); bitmaps[1]->setVelX(-1.0f);
bitmaps.at(1)->setVelY(0.0f); bitmaps[1]->setVelY(0.0f);
bitmaps.at(1)->setAccelX(-0.3f); bitmaps[1]->setAccelX(-0.3f);
bitmaps.at(1)->setAccelY(0.0f); bitmaps[1]->setAccelY(0.0f);
bitmaps.at(1)->setSpriteClip(128, 0, 128, 96); bitmaps[1]->setSpriteClip(128, 0, 128, 96);
bitmaps.at(2)->setPosX(GAMECANVAS_CENTER_X - 64); bitmaps[2]->setPosX(GAMECANVAS_CENTER_X - 64);
bitmaps.at(2)->setPosY(-96); bitmaps[2]->setPosY(-96);
bitmaps.at(2)->setVelX(0.0f); bitmaps[2]->setVelX(0.0f);
bitmaps.at(2)->setVelY(3.0f); bitmaps[2]->setVelY(3.0f);
bitmaps.at(2)->setAccelX(0.1f); bitmaps[2]->setAccelX(0.1f);
bitmaps.at(2)->setAccelY(0.3f); bitmaps[2]->setAccelY(0.3f);
bitmaps.at(2)->setSpriteClip(0, 96, 128, 96); bitmaps[2]->setSpriteClip(0, 96, 128, 96);
bitmaps.at(2)->setEnabledCounter(250); bitmaps[2]->setEnabledCounter(250);
bitmaps.at(3)->setPosX(GAMECANVAS_CENTER_X - 64); bitmaps[3]->setPosX(GAMECANVAS_CENTER_X - 64);
bitmaps.at(3)->setPosY(GAMECANVAS_HEIGHT); bitmaps[3]->setPosY(GAMECANVAS_HEIGHT);
bitmaps.at(3)->setVelX(0.0f); bitmaps[3]->setVelX(0.0f);
bitmaps.at(3)->setVelY(-0.7f); bitmaps[3]->setVelY(-0.7f);
bitmaps.at(3)->setAccelX(0.0f); bitmaps[3]->setAccelX(0.0f);
bitmaps.at(3)->setAccelY(0.0f); bitmaps[3]->setAccelY(0.0f);
bitmaps.at(3)->setSpriteClip(128, 96, 128, 96); bitmaps[3]->setSpriteClip(128, 96, 128, 96);
bitmaps.at(4)->setPosX(GAMECANVAS_CENTER_X - 64); bitmaps[4]->setPosX(GAMECANVAS_CENTER_X - 64);
bitmaps.at(4)->setPosY(-96); bitmaps[4]->setPosY(-96);
bitmaps.at(4)->setVelX(0.0f); bitmaps[4]->setVelX(0.0f);
bitmaps.at(4)->setVelY(3.0f); bitmaps[4]->setVelY(3.0f);
bitmaps.at(4)->setAccelX(0.1f); bitmaps[4]->setAccelX(0.1f);
bitmaps.at(4)->setAccelY(0.3f); bitmaps[4]->setAccelY(0.3f);
bitmaps.at(4)->setSpriteClip(0, 192, 128, 96); bitmaps[4]->setSpriteClip(0, 192, 128, 96);
bitmaps.at(5)->setPosX(GAMECANVAS_WIDTH); bitmaps[5]->setPosX(GAMECANVAS_WIDTH);
bitmaps.at(5)->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24); bitmaps[5]->setPosY(GAMECANVAS_FIRST_QUARTER_Y - 24);
bitmaps.at(5)->setVelX(-0.7f); bitmaps[5]->setVelX(-0.7f);
bitmaps.at(5)->setVelY(0.0f); bitmaps[5]->setVelY(0.0f);
bitmaps.at(5)->setAccelX(0.0f); bitmaps[5]->setAccelX(0.0f);
bitmaps.at(5)->setAccelY(0.0f); bitmaps[5]->setAccelY(0.0f);
bitmaps.at(5)->setSpriteClip(128, 192, 128, 96); bitmaps[5]->setSpriteClip(128, 192, 128, 96);
// Inicializa los textos de la intro // Inicializa los textos de la intro
const int totalTexts = 9; const int totalTexts = 9;
@@ -100,40 +100,40 @@ Intro::Intro(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang)
} }
// Un dia qualsevol de l'any 2000 // Un dia qualsevol de l'any 2000
texts.at(0)->setCaption(lang->getText(27)); texts[0]->setCaption(lang->getText(27));
texts.at(0)->setSpeed(8); texts[0]->setSpeed(8);
// Tot esta tranquil a la UPV // Tot esta tranquil a la UPV
texts.at(1)->setCaption(lang->getText(28)); texts[1]->setCaption(lang->getText(28));
texts.at(1)->setSpeed(8); texts[1]->setSpeed(8);
// Fins que un desaprensiu... // Fins que un desaprensiu...
texts.at(2)->setCaption(lang->getText(29)); texts[2]->setCaption(lang->getText(29));
texts.at(2)->setSpeed(12); texts[2]->setSpeed(12);
// HEY! ME ANE A FERME UN CORTAET... // HEY! ME ANE A FERME UN CORTAET...
texts.at(3)->setCaption(lang->getText(30)); texts[3]->setCaption(lang->getText(30));
texts.at(3)->setSpeed(8); texts[3]->setSpeed(8);
// UAAAAAAAAAAAAA!!! // UAAAAAAAAAAAAA!!!
texts.at(4)->setCaption(lang->getText(31)); texts[4]->setCaption(lang->getText(31));
texts.at(4)->setSpeed(1); texts[4]->setSpeed(1);
// Espera un moment... // Espera un moment...
texts.at(5)->setCaption(lang->getText(32)); texts[5]->setCaption(lang->getText(32));
texts.at(5)->setSpeed(16); texts[5]->setSpeed(16);
// Si resulta que no tinc solt! // Si resulta que no tinc solt!
texts.at(6)->setCaption(lang->getText(33)); texts[6]->setCaption(lang->getText(33));
texts.at(6)->setSpeed(2); texts[6]->setSpeed(2);
// MERDA DE MAQUINA! // MERDA DE MAQUINA!
texts.at(7)->setCaption(lang->getText(34)); texts[7]->setCaption(lang->getText(34));
texts.at(7)->setSpeed(3); texts[7]->setSpeed(3);
// Blop... blop... blop... // Blop... blop... blop...
texts.at(8)->setCaption(lang->getText(35)); texts[8]->setCaption(lang->getText(35));
texts.at(8)->setSpeed(16); texts[8]->setSpeed(16);
for (auto text : texts) for (auto text : texts)
{ {
@@ -235,36 +235,36 @@ void Intro::updateScenes()
{ {
case 1: case 1:
// Primera imagen - UPV // Primera imagen - UPV
if (!bitmaps.at(0)->hasFinished()) if (!bitmaps[0]->hasFinished())
{ {
bitmaps.at(0)->setEnabled(true); bitmaps[0]->setEnabled(true);
} }
// Primer texto de la primera imagen // Primer texto de la primera imagen
if (bitmaps.at(0)->hasFinished() && !texts.at(0)->hasFinished()) if (bitmaps[0]->hasFinished() && !texts[0]->hasFinished())
{ {
texts.at(0)->setEnabled(true); texts[0]->setEnabled(true);
} }
// Segundo texto de la primera imagen // Segundo texto de la primera imagen
if (texts.at(0)->hasFinished() && !texts.at(1)->hasFinished()) if (texts[0]->hasFinished() && !texts[1]->hasFinished())
{ {
texts.at(0)->setEnabled(false); texts[0]->setEnabled(false);
texts.at(1)->setEnabled(true); texts[1]->setEnabled(true);
} }
// Tercer texto de la primera imagen // Tercer texto de la primera imagen
if (texts.at(1)->hasFinished() && !texts.at(2)->hasFinished()) if (texts[1]->hasFinished() && !texts[2]->hasFinished())
{ {
texts.at(1)->setEnabled(false); texts[1]->setEnabled(false);
texts.at(2)->setEnabled(true); texts[2]->setEnabled(true);
} }
// Fin de la primera escena // Fin de la primera escena
if (texts.at(2)->hasFinished()) if (texts[2]->hasFinished())
{ {
bitmaps.at(0)->setEnabled(false); bitmaps[0]->setEnabled(false);
texts.at(2)->setEnabled(false); texts[2]->setEnabled(false);
scene++; scene++;
} }
@@ -272,22 +272,22 @@ void Intro::updateScenes()
case 2: case 2:
// Segunda imagen - Máquina // Segunda imagen - Máquina
if (!bitmaps.at(1)->hasFinished()) if (!bitmaps[1]->hasFinished())
{ {
bitmaps.at(1)->setEnabled(true); bitmaps[1]->setEnabled(true);
} }
// Primer texto de la segunda imagen // Primer texto de la segunda imagen
if (bitmaps.at(1)->hasFinished() && !texts.at(3)->hasFinished()) if (bitmaps[1]->hasFinished() && !texts[3]->hasFinished())
{ {
texts.at(3)->setEnabled(true); texts[3]->setEnabled(true);
} }
// Fin de la segunda escena // Fin de la segunda escena
if (texts.at(3)->hasFinished()) if (texts[3]->hasFinished())
{ {
bitmaps.at(1)->setEnabled(false); bitmaps[1]->setEnabled(false);
texts.at(3)->setEnabled(false); texts[3]->setEnabled(false);
scene++; scene++;
} }
@@ -295,17 +295,17 @@ void Intro::updateScenes()
case 3: case 3:
// Tercera imagen junto con primer texto - GRITO // Tercera imagen junto con primer texto - GRITO
if (!bitmaps.at(2)->hasFinished() && !texts.at(4)->hasFinished()) if (!bitmaps[2]->hasFinished() && !texts[4]->hasFinished())
{ {
bitmaps.at(2)->setEnabled(true); bitmaps[2]->setEnabled(true);
texts.at(4)->setEnabled(true); texts[4]->setEnabled(true);
} }
// Fin de la tercera escena // Fin de la tercera escena
if (bitmaps.at(2)->hasFinished() && texts.at(4)->hasFinished()) if (bitmaps[2]->hasFinished() && texts[4]->hasFinished())
{ {
bitmaps.at(2)->setEnabled(false); bitmaps[2]->setEnabled(false);
texts.at(4)->setEnabled(false); texts[4]->setEnabled(false);
scene++; scene++;
} }
@@ -313,24 +313,24 @@ void Intro::updateScenes()
case 4: case 4:
// Cuarta imagen junto con primer texto - Reflexión // Cuarta imagen junto con primer texto - Reflexión
if (!bitmaps.at(3)->hasFinished() && !texts.at(5)->hasFinished()) if (!bitmaps[3]->hasFinished() && !texts[5]->hasFinished())
{ {
bitmaps.at(3)->setEnabled(true); bitmaps[3]->setEnabled(true);
texts.at(5)->setEnabled(true); texts[5]->setEnabled(true);
} }
// Segundo texto de la cuarta imagen // Segundo texto de la cuarta imagen
if (texts.at(5)->hasFinished() && !texts.at(6)->hasFinished()) if (texts[5]->hasFinished() && !texts[6]->hasFinished())
{ {
texts.at(5)->setEnabled(false); texts[5]->setEnabled(false);
texts.at(6)->setEnabled(true); texts[6]->setEnabled(true);
} }
// Fin de la cuarta escena // Fin de la cuarta escena
if (bitmaps.at(3)->hasFinished() && texts.at(6)->hasFinished()) if (bitmaps[3]->hasFinished() && texts[6]->hasFinished())
{ {
bitmaps.at(3)->setEnabled(false); bitmaps[3]->setEnabled(false);
texts.at(6)->setEnabled(false); texts[6]->setEnabled(false);
scene++; scene++;
} }
@@ -338,22 +338,22 @@ void Intro::updateScenes()
case 5: case 5:
// Quinta imagen - Patada // Quinta imagen - Patada
if (!bitmaps.at(4)->hasFinished()) if (!bitmaps[4]->hasFinished())
{ {
bitmaps.at(4)->setEnabled(true); bitmaps[4]->setEnabled(true);
} }
// Primer texto de la quinta imagen // Primer texto de la quinta imagen
if (bitmaps.at(4)->hasFinished() && !texts.at(7)->hasFinished()) if (bitmaps[4]->hasFinished() && !texts[7]->hasFinished())
{ {
texts.at(7)->setEnabled(true); texts[7]->setEnabled(true);
} }
// Fin de la quinta escena // Fin de la quinta escena
if (bitmaps.at(4)->hasFinished() && texts.at(7)->hasFinished()) if (bitmaps[4]->hasFinished() && texts[7]->hasFinished())
{ {
bitmaps.at(4)->setEnabled(false); bitmaps[4]->setEnabled(false);
texts.at(7)->setEnabled(false); texts[7]->setEnabled(false);
scene++; scene++;
} }
@@ -361,17 +361,17 @@ void Intro::updateScenes()
case 6: case 6:
// Sexta imagen junto con texto - Globos de café // Sexta imagen junto con texto - Globos de café
if (!bitmaps.at(5)->hasFinished() && !texts.at(8)->hasFinished()) if (!bitmaps[5]->hasFinished() && !texts[8]->hasFinished())
{ {
bitmaps.at(5)->setEnabled(true); bitmaps[5]->setEnabled(true);
texts.at(8)->setEnabled(true); texts[8]->setEnabled(true);
} }
// Acaba el último texto // Acaba el último texto
if (bitmaps.at(5)->hasFinished() && texts.at(8)->hasFinished()) if (bitmaps[5]->hasFinished() && texts[8]->hasFinished())
{ {
bitmaps.at(5)->setEnabled(false); bitmaps[5]->setEnabled(false);
texts.at(8)->setEnabled(false); texts[8]->setEnabled(false);
JA_StopMusic(); JA_StopMusic();
section.name = PROG_SECTION_TITLE; section.name = PROG_SECTION_TITLE;
section.subsection = TITLE_SECTION_1; section.subsection = TITLE_SECTION_1;

View File

@@ -8,11 +8,11 @@ Player::Player(float x, int y, SDL_Renderer *renderer, std::vector<Texture *> te
this->renderer = renderer; this->renderer = renderer;
// Reserva memoria para los objetos // Reserva memoria para los objetos
headSprite = new AnimatedSprite(texture.at(0), renderer, "", animations.at(0)); headSprite = new AnimatedSprite(texture[0], renderer, "", animations[0]);
bodySprite = new AnimatedSprite(texture.at(1), renderer, "", animations.at(1)); bodySprite = new AnimatedSprite(texture[1], renderer, "", animations[1]);
legsSprite = new AnimatedSprite(texture.at(2), renderer, "", animations.at(2)); legsSprite = new AnimatedSprite(texture[2], renderer, "", animations[2]);
deathSprite = new AnimatedSprite(texture.at(3), renderer, "", animations.at(3)); deathSprite = new AnimatedSprite(texture[3], renderer, "", animations[3]);
fireSprite = new AnimatedSprite(texture.at(4), renderer, "", animations.at(4)); fireSprite = new AnimatedSprite(texture[4], renderer, "", animations[4]);
fireSprite->getTexture()->setAlpha(224); fireSprite->getTexture()->setAlpha(224);
// Establece la posición inicial del jugador // Establece la posición inicial del jugador
@@ -620,9 +620,9 @@ void Player::updatePowerUpHeadOffset()
// Pone las texturas del jugador // Pone las texturas del jugador
void Player::setPlayerTextures(std::vector<Texture *> texture) void Player::setPlayerTextures(std::vector<Texture *> texture)
{ {
headSprite->setTexture(texture.at(0)); headSprite->setTexture(texture[0]);
bodySprite->setTexture(texture.at(1)); bodySprite->setTexture(texture[1]);
legsSprite->setTexture(texture.at(2)); legsSprite->setTexture(texture[2]);
deathSprite->setTexture(texture.at(3)); deathSprite->setTexture(texture[3]);
fireSprite->setTexture(texture.at(4)); fireSprite->setTexture(texture[4]);
} }

View File

@@ -125,9 +125,9 @@ void Title::init()
// Si ha encontrado un mando se lo asigna al segundo jugador // Si ha encontrado un mando se lo asigna al segundo jugador
if (input->gameControllerFound()) if (input->gameControllerFound())
{ {
options->input.at(1).id = availableInputDevices.at(deviceIndex.at(1)).id; options->input[1].id = availableInputDevices[deviceIndex[1]].id;
options->input.at(1).name = availableInputDevices.at(deviceIndex.at(1)).name; options->input[1].name = availableInputDevices[deviceIndex[1]].name;
options->input.at(1).deviceType = availableInputDevices.at(deviceIndex.at(1)).deviceType; options->input[1].deviceType = availableInputDevices[deviceIndex[1]].deviceType;
} }
// Inicializa el bitmap de Coffee // Inicializa el bitmap de Coffee
@@ -1010,49 +1010,49 @@ bool Title::updatePlayerInputs(int numPlayer)
if (!input->gameControllerFound()) if (!input->gameControllerFound())
{ // Si no hay mandos se deja todo de manera prefijada { // Si no hay mandos se deja todo de manera prefijada
deviceIndex.at(0) = 0; deviceIndex[0] = 0;
deviceIndex.at(1) = 0; deviceIndex[1] = 0;
options->input.at(0).id = -1; options->input[0].id = -1;
options->input.at(0).name = "KEYBOARD"; options->input[0].name = "KEYBOARD";
options->input.at(0).deviceType = INPUT_USE_KEYBOARD; options->input[0].deviceType = INPUT_USE_KEYBOARD;
options->input.at(1).id = 0; options->input[1].id = 0;
options->input.at(1).name = "GAME CONTROLLER"; options->input[1].name = "GAME CONTROLLER";
options->input.at(1).deviceType = INPUT_USE_GAMECONTROLLER; options->input[1].deviceType = INPUT_USE_GAMECONTROLLER;
return true; return true;
} }
else else
{ // Si hay mas de un dispositivo, se recorre el vector { // Si hay mas de un dispositivo, se recorre el vector
std::cout << "numplayer:" << numPlayer << std::endl; std::cout << "numplayer:" << numPlayer << std::endl;
std::cout << "deviceindex:" << deviceIndex.at(numPlayer) << std::endl; std::cout << "deviceindex:" << deviceIndex[numPlayer] << std::endl;
// Incrementa el indice // Incrementa el indice
if (deviceIndex.at(numPlayer) < numDevices - 1) if (deviceIndex[numPlayer] < numDevices - 1)
{ {
deviceIndex.at(numPlayer)++; deviceIndex[numPlayer]++;
} }
else else
{ {
deviceIndex.at(numPlayer) = 0; deviceIndex[numPlayer] = 0;
} }
std::cout << "deviceindex:" << deviceIndex.at(numPlayer) << std::endl; std::cout << "deviceindex:" << deviceIndex[numPlayer] << std::endl;
// Si coincide con el del otro jugador, se lo intercambian // Si coincide con el del otro jugador, se lo intercambian
if (deviceIndex.at(0) == deviceIndex.at(1)) if (deviceIndex[0] == deviceIndex[1])
{ {
const int theOtherPlayer = (numPlayer + 1) % 2; const int theOtherPlayer = (numPlayer + 1) % 2;
deviceIndex.at(theOtherPlayer)--; deviceIndex[theOtherPlayer]--;
if (deviceIndex.at(theOtherPlayer) < 0) if (deviceIndex[theOtherPlayer] < 0)
{ {
deviceIndex.at(theOtherPlayer) = numDevices - 1; deviceIndex[theOtherPlayer] = numDevices - 1;
} }
} }
// Copia el dispositivo marcado por el indice a la variable de opciones de cada jugador // Copia el dispositivo marcado por el indice a la variable de opciones de cada jugador
options->input[0] = availableInputDevices.at(deviceIndex.at(0)); options->input[0] = availableInputDevices[deviceIndex[0]];
options->input[1] = availableInputDevices.at(deviceIndex.at(1)); options->input[1] = availableInputDevices[deviceIndex[1]];
return true; return true;
} }