53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#include <iostream>
|
|
#include <vector>
|
|
#include <cstdlib>
|
|
#include <time.h>
|
|
#include "PiocheDeTortues.h"
|
|
#include "Tortue.h"
|
|
#include "constantes.h"
|
|
using namespace std;
|
|
|
|
PiocheDeTortues::PiocheDeTortues()
|
|
{
|
|
this->liste_tortues.clear();
|
|
for (int i = 0; i<NB_TORTUES; i++)
|
|
{
|
|
this->liste_tortues.push_back(new Tortue(TAB_COULEUR[i]));
|
|
} //ctor
|
|
|
|
}
|
|
void PiocheDeTortues::afficherPiocheDeTortues()
|
|
{
|
|
cout << "Taille debut constructeur :" << this->liste_tortues.size()<< endl ;
|
|
cout << "Tableau des pointeurs de tortues :" << endl;
|
|
for (int i = 0; i < this->liste_tortues.size(); i++)
|
|
{
|
|
if (i != 4)
|
|
{
|
|
cout << this->liste_tortues[i] << " ";
|
|
cout << "Taille a l'indice " << i << ": " << this->liste_tortues.size() << endl ;
|
|
}
|
|
else
|
|
{
|
|
cout << this->liste_tortues[i] << endl;
|
|
cout << "Taille a l'indice " << i << ": " << this->liste_tortues.size() << endl ;
|
|
}
|
|
}
|
|
}
|
|
Tortue* PiocheDeTortues::piocherTortue()
|
|
{
|
|
if (this->liste_tortues.size() != 0)
|
|
{
|
|
int indexTortuePiochee = rand() % this->liste_tortues.size();
|
|
Tortue* tortuePiochee;
|
|
tortuePiochee = this->liste_tortues[indexTortuePiochee];
|
|
this->liste_tortues[indexTortuePiochee] = this->liste_tortues[this->liste_tortues.size() - 1 ];
|
|
this->liste_tortues.pop_back();
|
|
return tortuePiochee;
|
|
}
|
|
}
|
|
PiocheDeTortues::~PiocheDeTortues()
|
|
{
|
|
//dtor
|
|
}
|