Correction des messages de mort
This commit is contained in:
parent
44ae6475e3
commit
72e0e73956
|
@ -64,12 +64,6 @@ public:
|
|||
*/
|
||||
virtual void activate(Game& game, Object::Ptr object);
|
||||
|
||||
/**
|
||||
* Appelé lorsque le bloc a été tué. Si cette fonction
|
||||
* est appelé, le bloc sera supprimé à la frame suivante
|
||||
*/
|
||||
virtual void kill(Game& game);
|
||||
|
||||
/**
|
||||
* Récupère l'identifiant de type des blocs
|
||||
*/
|
||||
|
|
|
@ -86,12 +86,6 @@ public:
|
|||
*/
|
||||
virtual void draw(Level& level) = 0;
|
||||
|
||||
/**
|
||||
* Appelé lorsque l'objet a été tué. Si cette fonction
|
||||
* est appelé, l'objet sera supprimé à la frame suivante
|
||||
*/
|
||||
virtual void kill(Game& game) = 0;
|
||||
|
||||
/**
|
||||
* Récupère l'identifiant de type de cet objet
|
||||
*/
|
||||
|
|
|
@ -59,12 +59,6 @@ public:
|
|||
*/
|
||||
virtual void activate(Game& game, Object::Ptr object);
|
||||
|
||||
/**
|
||||
* Appelé lorsque le jouer a été tué. Si cette fonction
|
||||
* est appelé, le joueur sera supprimé à la frame suivante
|
||||
*/
|
||||
virtual void kill(Game& game);
|
||||
|
||||
/**
|
||||
* Récupère l'identifiant de type des joueurs
|
||||
*/
|
||||
|
|
|
@ -81,10 +81,6 @@ void Block::activate(Game& game, Object::Ptr object) {
|
|||
// aux activations
|
||||
}
|
||||
|
||||
void Block::kill(Game& game) {
|
||||
// rien à faire de plus si le bloc a été tué
|
||||
}
|
||||
|
||||
sf::FloatRect Block::getAABB() const {
|
||||
sf::FloatRect transl_aabb = aabb;
|
||||
transl_aabb.left += getPosition().x;
|
||||
|
|
15
src/game.cpp
15
src/game.cpp
|
@ -83,9 +83,6 @@ void Game::frame() {
|
|||
std::cout << "<< Perdu : ";
|
||||
|
||||
switch (getDeathCause()) {
|
||||
case Game::DeathCause::NONE:
|
||||
std::cout << "sans aucune raison";
|
||||
break;
|
||||
case Game::DeathCause::OUT_OF_BOUNDS:
|
||||
std::cout << "sortie du cadre";
|
||||
break;
|
||||
|
@ -95,9 +92,12 @@ void Game::frame() {
|
|||
case Game::DeathCause::TIME_OUT:
|
||||
std::cout << "temps écoulé";
|
||||
break;
|
||||
case Game::DeathCause::NONE:
|
||||
std::cout << "sans aucune raison";
|
||||
break;
|
||||
}
|
||||
|
||||
std::cout << " !" << std::endl;
|
||||
std::cout << " ! >>" << std::endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -185,6 +185,12 @@ void Game::update() {
|
|||
// planifie sa mort à la prochaine frame
|
||||
if (!isInZone(obj_a) && obj_a->getMass() != 0) {
|
||||
kill(obj_a);
|
||||
|
||||
// si c'était un joueur, on a perdu
|
||||
if (obj_a->getTypeId() == Player::TYPE_ID) {
|
||||
setMode(Game::Mode::LOST);
|
||||
setDeathCause(Game::DeathCause::OUT_OF_BOUNDS);
|
||||
}
|
||||
}
|
||||
|
||||
// on regarde s'il est en collision avec
|
||||
|
@ -224,7 +230,6 @@ void Game::update() {
|
|||
}
|
||||
|
||||
void Game::kill(Object::Ptr object) {
|
||||
object->kill(*this);
|
||||
pending_kill.push_back(object);
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@ void KillBlock::activate(Game& game, Object::Ptr object) {
|
|||
// si un joueur touche un bloc de mort, on le tue
|
||||
if (object->getTypeId() == Player::TYPE_ID) {
|
||||
game.kill(object);
|
||||
game.setMode(Game::Mode::LOST);
|
||||
game.setDeathCause(Game::DeathCause::KILLED);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,10 +98,6 @@ void Player::activate(Game& game, Object::Ptr object) {
|
|||
// qui s'occupe de la réponse
|
||||
}
|
||||
|
||||
void Player::kill(Game& game) {
|
||||
game.setMode(Game::Mode::LOST);
|
||||
}
|
||||
|
||||
void Player::updatePosition() {
|
||||
// calcul de la différence de position pour connaître
|
||||
// (approximativement) la rotation de la balle
|
||||
|
|
Loading…
Reference in New Issue