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 @@
#include"reseau_cellule_etats.h"
#include"coordonnees.h"
#include<stdio.h>
#include<cstdio>
#include<iostream>
#include<string>
#include<vector>
......@@ -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
public:
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) {
for (int k = 0; k < nbVoisin; k++) {
unsigned int i, j;
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;
cout << "Entrez l'ordonnée de la "<< k << "ième cellule.\n";
cout << "Entrez l'ordonnee de la "<< k << "ieme cellule.\n";
cin >> j;
if (i >= r.getHauteur() || j >= r.getLargeur())
cout << "Coordonnées incorrecte !\n";
cout << "Coordonnees incorrectes !\n";
}
if (i < r.getHauteur() && j < r.getLargeur())
v.voisinage[k] = &r.getReseau()[i][j];
......@@ -181,3 +181,7 @@ void RegleVoisinageMoore::calculVoisinage(Voisinage& v, const Reseau& r){
Voisinage::~Voisinage() {
voisinage.clear();
}
Voisinage RegleVoisinageArbitraire::getVoisinage(const Reseau& reseau, Coordonnees position) const {
}
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