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: ...@@ -55,7 +55,7 @@ public:
}; };
Voisinage(const Cellule* centre, vector<Cellule*> v) : celluleCentre(centre), voisinage(v) {} Voisinage(const Cellule* centre) : celluleCentre(centre) {}
~Voisinage(); ~Voisinage();
Cellule getCelluleCentre()const {return *celluleCentre;} Cellule getCelluleCentre()const {return *celluleCentre;}
......
...@@ -5,27 +5,27 @@ std::unique_ptr<Automate> Automate::instance = nullptr; ...@@ -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 /// 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() void Automate::nextTimer()
{ {
if((l!=0)&&(h!=0)) //il faut que l et h aient été initialisés autrement que nuls 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, 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 ?) { //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 Reseau r(*buffer.end()); //on crée un nouveau réseau à partir de l'ancien
//on parcourt la liste de ses cellules //on parcourt la liste de ses cellules
for(size_t i = 0; i<h; i++) for(size_t i = 0; i<h; i++)
{ {
for(size_t j = 0; j<l; j++) for(size_t j = 0; j<l; j++)
{ {
Voisinage voisinage((*buffer.end()).getReseau[i][j], /*c'est quoi ce paramètre ?*/); Voisinage voisinage(&(*buffer.end()).getReseau()[i][j]);
regleVoisinage.calculVoisinage(voisinage, *buffer.end()); regleVoisinage->calculVoisinage(voisinage, *buffer.end());
Etat& e = fonction->getEtatSuivant(voisinage, r.getReseau()[i][j]); //besoin d'un voisinage const Etat e = fonction->getEtatSuivant(voisinage, r.getReseau()[i][j]);
while(r.getReseau()[i][j].getIndEtat()!=e.getIndice()) //besoin de getIndice while(r.getReseau()[i][j].getIndEtat()!=e.getIndice())
r.getReseau()[i][j].incrementerEtat(); r.getReseau()[i][j].incrementerEtat();
} }
} }
buffer.push_back(r); buffer.push_back(r);
if(buffer.size() > 15) { // taille maximum du buffer : 15 if(buffer.size() > 15) { // taille maximum du buffer : 15
buffer.erase(buffer.begin()); buffer.erase(buffer.begin());
} }
} }
} }
} }
Supports Markdown
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