Commit e613d688 authored by Boris Cazic's avatar Boris Cazic
Browse files

Ebauche d'implémentation du voisinage arbitraire

parent 6956d368
Pipeline #79110 passed with stage
in 16 seconds
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include"reseau_cellule_etats.h" #include"reseau_cellule_etats.h"
#include"coordonnees.h" #include"coordonnees.h"
#include<stdio.h> #include<cstdio>
#include<iostream> #include<iostream>
#include<string> #include<string>
#include<vector> #include<vector>
...@@ -94,16 +94,10 @@ public: ...@@ -94,16 +94,10 @@ public:
}; };
struct VoisinageFormat { //Format possible de voisinage pouvant être renvoyé par RegleVoisinage
std::vector<Coordonnees> positions;
};
class RegleVoisinageArbitraire : public RegleVoisinage { //définit la règle pour le voisinage arbitraire class RegleVoisinageArbitraire : public RegleVoisinage { //définit la règle pour le voisinage arbitraire
public: public:
Voisinage getVoisinage(const Reseau& reseau, Coordonnees position) const; Voisinage getVoisinage(const Reseau& reseau, Coordonnees position) const;
std::vector<VoisinageFormat> getFormat() const; //à compléter
}; };
......
...@@ -40,12 +40,12 @@ void RegleVoisinage::calculVoisinage(Voisinage& v, const Reseau& r) { ...@@ -40,12 +40,12 @@ void RegleVoisinage::calculVoisinage(Voisinage& v, const Reseau& r) {
for (int k = 0; k < nbVoisin; k++) { for (int k = 0; k < nbVoisin; k++) {
unsigned int i, j; unsigned int i, j;
while (i >= r.getHauteur() || j >= r.getLargeur()) { while (i >= r.getHauteur() || j >= r.getLargeur()) {
cout << "Entrez l'abscisse de la" << k << "ième cellule.\n"; cout << "Entrez l'abscisse de la" << k << "ieme cellule.\n";
cin >> i; cin >> i;
cout << "Entrez l'ordonnée de la "<< k << "ième cellule.\n"; cout << "Entrez l'ordonnee de la "<< k << "ieme cellule.\n";
cin >> j; cin >> j;
if (i >= r.getHauteur() || j >= r.getLargeur()) if (i >= r.getHauteur() || j >= r.getLargeur())
cout << "Coordonnées incorrecte !\n"; cout << "Coordonnees incorrectes !\n";
} }
if (i < r.getHauteur() && j < r.getLargeur()) if (i < r.getHauteur() && j < r.getLargeur())
v.voisinage[k] = &r.getReseau()[i][j]; v.voisinage[k] = &r.getReseau()[i][j];
...@@ -181,3 +181,7 @@ void RegleVoisinageMoore::calculVoisinage(Voisinage& v, const Reseau& r){ ...@@ -181,3 +181,7 @@ void RegleVoisinageMoore::calculVoisinage(Voisinage& v, const Reseau& r){
Voisinage::~Voisinage() { Voisinage::~Voisinage() {
voisinage.clear(); voisinage.clear();
} }
Voisinage RegleVoisinageArbitraire::getVoisinage(const Reseau& reseau, Coordonnees position) const {
}
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