From b38fff22aba3c93c7e17a596b124141aa35efbf6 Mon Sep 17 00:00:00 2001 From: dragapsy <elghaoutiayman20@gmail.com> Date: Fri, 18 Nov 2022 01:50:53 +0100 Subject: [PATCH] Tache 3 (6.1 + Constructeur CellGridIterator(ArrayGrid grid)) --- app/src/main/java/model/ArrayGrid.java | 20 +++++++++------ app/src/main/java/model/CellGridIterator.java | 25 +++++++++++++++++++ app/src/main/java/model/GrayGrid.java | 10 +++++++- app/src/main/java/model/Grid.java | 2 +- .../java/model/UniformColorGenerator.java | 17 +++---------- 5 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 app/src/main/java/model/CellGridIterator.java diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java index 826cf47..d9967c3 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 0000000..2ea7957 --- /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 42a49eb..7656d08 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 68a9834..f49d488 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 fc335ea..9f21c99 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; } -- GitLab