diff --git a/app/src/main/java/model/Cell.java b/app/src/main/java/model/Cell.java index 90221fb95e0e48804309cb0eb2bd4e2a4519c978..540b4ee06356eabc27476a769cc54f29c7863901 100644 --- a/app/src/main/java/model/Cell.java +++ b/app/src/main/java/model/Cell.java @@ -1,5 +1,4 @@ package model; - import javafx.beans.property.Property; import javafx.scene.paint.Color; diff --git a/app/src/main/java/model/ColorCellIterator.java b/app/src/main/java/model/ColorCellIterator.java deleted file mode 100644 index eba45e44ee2b3e6d61deceb087fa69bbbca252b4..0000000000000000000000000000000000000000 --- a/app/src/main/java/model/ColorCellIterator.java +++ /dev/null @@ -1,44 +0,0 @@ -package model; -import java.awt.*; -import java.util.Iterator; -import java.util.Set ; - -public class ColorCellIterator implements Iterator<Cell> { - - Color color ; // qui correspond à la couleur de la cellule de départ - Set<Cell> visitedCells ; //pour stocker l’ensemble des cellules sur lesquelles on a déjà itéré - Set<Cell> pendingCells ; //à la cellule de départ et qui n’ont pas encore été parcourues - - - //Constructeur de la classe - public void ColoredCellIterator(Cell startCell) { //startCell : cellule à partir de laquelle on souhaite démarrer l’itération - this.pendingCells.add(startCell) ; - } - - @Override - public boolean hasNext() { - return false; - } - - @Override - public Cell next() { - return null; - } - - public Set<Cell> getNeighbours() { - while (this.pendingCells.iterator().hasNext()) { - Cell pendingCell = this.pendingCells.iterator().next(); - if (pendingCell.iterator().hasNext().getColor() == pendingCells.getColor()) { - this.pendingCells.add(pendingCell); - } - this.visitedCells.add(pendingCell); - - if (this.pendingCells.iterator().hasNext()) { - pendingCell = this.pendingCells.iterator().next(); - } - else return this.visitedCells; - } - - } - -} diff --git a/app/src/main/java/model/ColoredCellIterator.java b/app/src/main/java/model/ColoredCellIterator.java new file mode 100644 index 0000000000000000000000000000000000000000..fa10ca04d5f6fa7beddb53ca7ee6adc0be297222 --- /dev/null +++ b/app/src/main/java/model/ColoredCellIterator.java @@ -0,0 +1,74 @@ +package model; +import javafx.beans.property.Property; +import java.awt.*; +import java.util.Iterator; +import java.util.Set ; + +//Iterator<Cell> implemente un tableau de cellule +public class ColoredCellIterator<Cell> implements Iterator<Cell> { + + Color color ; // qui correspond à la couleur de la cellule de départ + Set<Cell> visitedCells ; //pour stocker l’ensemble des cellules sur lesquelles on a déjà itéré + Set<Cell> pendingCells ; //à la cellule de départ et qui n’ont pas encore été parcourues + + + //Constructeur de la classe + public void ColoredCellIterator(Cell startCell) { //startCell : cellule à partir de laquelle on souhaite démarrer l’itération + this.pendingCells.add(startCell) ; + this.visitedCells.add(startCell) ; + } + + //Méthode implémentée + Color getColor() { + return null; + } + + //Méthode implémentée + void setNeighbours(Set<Cell> cells) {} + + //Méthode implémentée + public Property<Color> getColorProperty() { + return null ; + } ; + + //Demandée par l'exercice + Iterator<Cell> iterator() { + return null; + } ; + + //Méthode implémentée + public boolean hasNext() { + return false; + } + + //Méthode implémentée + public Cell next() { + return null; + } +//Set est une collection - pas d'element identique + //List c est une liste - avec des element identique + + public Set<Cell> getNeighbours() { + while (this.pendingCells.iterator().hasNext()) { + //ColorCellIterator pendingCells = new ColorCellIterator() ; + ColoredCellIterator pendingCellsNext = (ColoredCellIterator) this.pendingCells.iterator().next(); + + while (pendingCellsNext.iterator().hasNext()) { + if (pendingCellsNext.iterator() == this.pendingCells.iterator()) { + this.pendingCells.add((Cell) pendingCellsNext); + } + //this.visitedCells.add((Cell) pendingCells); + } + + /*if (this.pendingCells.iterator().hasNext()) { + pendingCells = (ColoredCellIterator) this.pendingCells.iterator().next(); + } + else return this.visitedCells; + + */ + } + + return null; + } + +} diff --git a/app/src/main/java/model/GrayCell.java b/app/src/main/java/model/GrayCell.java index 8007887ea0a9ca53b4ec9b5bf8d7a894c9711ac3..afd2c1af5dfd5fd0041e7f09a84400776472f88f 100644 --- a/app/src/main/java/model/GrayCell.java +++ b/app/src/main/java/model/GrayCell.java @@ -3,6 +3,7 @@ package model; import javafx.beans.property.Property; import javafx.scene.paint.Color; +import java.util.Iterator; import java.util.List; public class GrayCell extends AbstractCell{ @@ -30,6 +31,11 @@ public class GrayCell extends AbstractCell{ } + @Override + public Iterator<Cell> iterator() { + return null; + } + @Override public void setColor(Color color){