Trabajando en la muerte del jugador
This commit is contained in:
@@ -95,11 +95,9 @@ void Game::update()
|
||||
map->update();
|
||||
enemyEngine->update();
|
||||
player->update();
|
||||
if (enemyEngine->checkEnemyCollision(player->getCollider()))
|
||||
{
|
||||
debug->add("COLLISION");
|
||||
}
|
||||
|
||||
checkPlayerEnemyCollisions();
|
||||
checkIfPlayerIsAlive();
|
||||
checkScreenBorders();
|
||||
|
||||
updateDebugInfo();
|
||||
@@ -197,6 +195,8 @@ void Game::checkEventHandler()
|
||||
map = new Map(asset->get("01.map"), renderer, asset, itemTracker);
|
||||
delete player;
|
||||
player = new Player(renderer, asset, input, map, debug, &board.diamonds);
|
||||
delete enemyEngine;
|
||||
enemyEngine = new EnemyEngine(renderer, asset, player, map, asset->get(map->getEnemyFile()));
|
||||
break;
|
||||
|
||||
case SDL_SCANCODE_F:
|
||||
@@ -310,4 +310,51 @@ void Game::reLoadTextures()
|
||||
map->reLoadTextures();
|
||||
player->reLoadTextures();
|
||||
scoreboard->reLoadTexture();
|
||||
}
|
||||
|
||||
// Comprueba las colisiones del jugador con los enemigos
|
||||
bool Game::checkPlayerEnemyCollisions()
|
||||
{
|
||||
if (enemyEngine->checkEnemyCollision(player->getCollider()))
|
||||
{
|
||||
debug->add("COLLISION");
|
||||
player->setLivingState(l_dead);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Comprueba si el jugador esta vivo
|
||||
void Game::checkIfPlayerIsAlive()
|
||||
{
|
||||
if (player->getLivingState() == l_dead)
|
||||
{
|
||||
killPlayer();
|
||||
}
|
||||
}
|
||||
|
||||
// Mata al jugador
|
||||
void Game::killPlayer()
|
||||
{
|
||||
// if (player->getInvincible())
|
||||
//{
|
||||
// return;
|
||||
// }
|
||||
|
||||
board.lives--;
|
||||
|
||||
// Destruye el mapa, el jugador y los enemigos
|
||||
//delete map;
|
||||
delete player;
|
||||
//delete enemyEngine;
|
||||
|
||||
// Sonido
|
||||
// JA_PlaySound(deathSound);
|
||||
|
||||
// setBlackScreen();
|
||||
|
||||
// Crea el nuevo mapa, el nuevo jugador y nuevos enemigos
|
||||
//map = new Map(asset->get("01.map"), renderer, asset, itemTracker);
|
||||
player = new Player(renderer, asset, input, map, debug, &board.diamonds);
|
||||
//enemyEngine = new EnemyEngine(renderer, asset, player, map, asset->get(map->getEnemyFile()));
|
||||
}
|
||||
Reference in New Issue
Block a user