Verified Commit 7fe9ae3a authored by Romain De Laage De Bellefaye's avatar Romain De Laage De Bellefaye 🌳
Browse files

Compile to obj now works

parent 8090e919
......@@ -55,7 +55,7 @@ public:
};
Voisinage(const Cellule* centre, vector<Cellule*> v) : celluleCentre(centre), voisinage(v) {}
Voisinage(const Cellule* centre) : celluleCentre(centre) {}
~Voisinage();
Cellule getCelluleCentre()const {return *celluleCentre;}
......
......@@ -5,27 +5,27 @@ std::unique_ptr<Automate> Automate::instance = nullptr;
/// La méthode nextTimer calcule un nouveau pas de temps, elle s'occupe également de la taille du buffer des réseaux qui est pour le moment hardcodé mais qui peut très facilement devenir un attribut modifiable par accesseur si besoin
void Automate::nextTimer()
{
if((l!=0)&&(h!=0)) //il faut que l et h aient été initialisés autrement que nuls
{
if(buffer.size()!=0) //il faut que l'on ait un premier réseau dans le buffer,
{ //choisi par l'utilisateur (besoin d'une fonction initialiser() dans automate ?)
Reseau r(*buffer.end()); //on crée un nouveau réseau à partir de l'ancien
//on parcourt la liste de ses cellules
for(size_t i = 0; i<h; i++)
{
for(size_t j = 0; j<l; j++)
{
Voisinage voisinage((*buffer.end()).getReseau[i][j], /*c'est quoi ce paramètre ?*/);
regleVoisinage.calculVoisinage(voisinage, *buffer.end());
Etat& e = fonction->getEtatSuivant(voisinage, r.getReseau()[i][j]); //besoin d'un voisinage
while(r.getReseau()[i][j].getIndEtat()!=e.getIndice()) //besoin de getIndice
r.getReseau()[i][j].incrementerEtat();
}
}
buffer.push_back(r);
if(buffer.size() > 15) { // taille maximum du buffer : 15
buffer.erase(buffer.begin());
}
}
}
if((l!=0)&&(h!=0)) //il faut que l et h aient été initialisés autrement que nuls
{
if(buffer.size()!=0) //il faut que l'on ait un premier réseau dans le buffer,
{ //choisi par l'utilisateur (besoin d'une fonction initialiser() dans automate ?)
Reseau r(*buffer.end()); //on crée un nouveau réseau à partir de l'ancien
//on parcourt la liste de ses cellules
for(size_t i = 0; i<h; i++)
{
for(size_t j = 0; j<l; j++)
{
Voisinage voisinage(&(*buffer.end()).getReseau()[i][j]);
regleVoisinage->calculVoisinage(voisinage, *buffer.end());
const Etat e = fonction->getEtatSuivant(voisinage, r.getReseau()[i][j]);
while(r.getReseau()[i][j].getIndEtat()!=e.getIndice())
r.getReseau()[i][j].incrementerEtat();
}
}
buffer.push_back(r);
if(buffer.size() > 15) { // taille maximum du buffer : 15
buffer.erase(buffer.begin());
}
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment