| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | using namespace std;
 
#include <algorithm>
#include <functional>
#include <list>
#include "jeu.h"
 
 
/** ... Implémentation de Jeu ... **/
 
 
// Supprime les bombes ayant terminé leur explosion
void Jeu :: nettoyer_bombe() {
 
	/* Merci à Laurent Gomila de Developpez.net pour ce bout de code */
 
	// Déclaration d'itérateurs
	list<Bombe*>::iterator debut, ite;
 
	// On déplace les éléments à supprimer vers la fin du conteneur
	debut = remove_if(this->bombe.begin(), this->bombe.end(), mem_fun(&Bombe::est_terminee));
 
	// On détruit tous les éléments déplacés à la fin
	for(ite = debut; ite != this->bombe.end(); ite++)
		delete (*ite);
 
	// On retire physiquement du conteneur les éléments supprimés
	this->bombe.erase(debut, this->bombe.end());
} | 
Partager