Tortues_CPP/src/PiocheDeTortues.cpp

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
}