diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java index 826cf474404fd73d4781b4da5f1140245e47a847..d9967c3e8a07f80c97b98f8237918c65f251b791 100644 --- a/app/src/main/java/model/ArrayGrid.java +++ b/app/src/main/java/model/ArrayGrid.java @@ -1,12 +1,13 @@ package model; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; public class ArrayGrid implements Grid{ - private Cell [][] cells; + protected Cell [][] cells; private int numberOfRows; private int numberOfColumns; @@ -72,14 +73,19 @@ public class ArrayGrid implements Grid{ @Override public void color(ColorGenerator colorGenerator) { - for (int i=0; i<this.numberOfRows;i++){ - for(int j=0; j<this.numberOfColumns;j++){ - colorGenerator.nextColor(cells[i][j]); - } +// for(Cell []cell1D:cells){ +// for(Cell cell:cell1D){ +// cell.setColor(colorGenerator.nextColor(cell)); +// } +// } + for(Cell cell:this){ + cell.setColor(colorGenerator.nextColor(cell)); } } -======= ->>>>>>> origin/main + @Override + public Iterator<Cell> iterator() { + return new CellGridIterator(this); + } } diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java new file mode 100644 index 0000000000000000000000000000000000000000..2ea7957df201e37cbbcc32c9ab60b31ff04777a4 --- /dev/null +++ b/app/src/main/java/model/CellGridIterator.java @@ -0,0 +1,25 @@ +package model; + +import java.util.Iterator; +public class CellGridIterator implements Iterator<Cell> { + + ArrayGrid arrayGrid; + private int rowIndex,columnIndex; + + private Cell [][]cells; + public CellGridIterator(ArrayGrid grid) { + arrayGrid=grid; + cells=grid.cells; + } + + + @Override + public boolean hasNext() { + return false; + } + + @Override + public Cell next() { + return null; + } +} diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java index 42a49eb5d00a6dcdb562e4fac1fc1b1d20051394..7656d08930114c6387d5ed0d5c89e6303d159427 100644 --- a/app/src/main/java/model/GrayGrid.java +++ b/app/src/main/java/model/GrayGrid.java @@ -1,6 +1,8 @@ package model; -public class GrayGrid implements Grid{ +import java.util.Iterator; + +public class GrayGrid implements Grid { private final int numberOfRows; private final int numnberOfColumns; @@ -45,4 +47,10 @@ public class GrayGrid implements Grid{ public void color(ColorGenerator colorGenerator) { } + + + @Override + public Iterator<Cell> iterator() { + return null; + } } diff --git a/app/src/main/java/model/Grid.java b/app/src/main/java/model/Grid.java index 68a983455dc5f5cf0ea38be7819b64b288f1060c..f49d488d36ed8e54f968a2be3e74589eee32886e 100644 --- a/app/src/main/java/model/Grid.java +++ b/app/src/main/java/model/Grid.java @@ -1,6 +1,6 @@ package model; -public interface Grid { +public interface Grid extends Iterable<Cell>{ /** * Return the cell located at the given coordinates in the grid. diff --git a/app/src/main/java/model/UniformColorGenerator.java b/app/src/main/java/model/UniformColorGenerator.java index fc335ea77705142c588592dee301c21bacede3de..9f21c99041f4f8dedfa3aab5bfc1b5eba587f739 100644 --- a/app/src/main/java/model/UniformColorGenerator.java +++ b/app/src/main/java/model/UniformColorGenerator.java @@ -8,21 +8,10 @@ public class UniformColorGenerator implements ColorGenerator{ private Color color; - //code of color generator found on stackOverFlow; - // link : https://stackoverflow.com/questions/4246351/creating-random-colour-in-java - // but the color constructor with 3 parameter is not public, so I checked in the documentation of Color, and - // I found that there is a constructor with 4 parameter that is public since java 8; - // Link of the doc : https://docs.oracle.com/javase/8/javafx/api/javafx/scene/paint/Color.html + @Override - public Color nextColor(Cell cell) { -// Random rand = new Random(); -// double red = rand.nextFloat(); -// double green = rand.nextFloat(); -// double blue = rand.nextFloat(); -// double opacity=rand.nextFloat(); -// Color randomColor = new Color(red, green, blue,opacity); -// cell.setColor(randomColor); -// return randomColor; + public Color nextColor(Cell cells) { + return this.color; }