From 1a9ef0a5b499cbbb6ddc0b25cd9b86d0c9dea3bd Mon Sep 17 00:00:00 2001 From: Hatim Saidi <hatim.saidi@etu.univ-amu.fr> Date: Mon, 14 Nov 2022 16:19:09 +0100 Subject: [PATCH] test --- app/src/main/java/model/ArrayGrid.java | 6 +-- app/src/main/java/model/CellGridIterator.java | 41 +++++++++++++++++++ app/src/main/java/model/GrayGrid.java | 5 +++ app/src/main/java/model/Grid.java | 1 + .../java/model/UniformColorGenerator.java | 8 ++-- 5 files changed, 55 insertions(+), 6 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 78c88c8..849e6f5 100644 --- a/app/src/main/java/model/ArrayGrid.java +++ b/app/src/main/java/model/ArrayGrid.java @@ -18,7 +18,7 @@ public class ArrayGrid implements Grid{ else { for (int j = 0; j < this.numberOfColumns; j++) { for (int i = 0; i < this.numberOfRows; i++) { - cells[i][j] = new SquareCell(); + cells[j][i] = new SquareCell(); } } } @@ -37,11 +37,11 @@ public class ArrayGrid implements Grid{ public void color(ColorGenerator colorGenerator){ for(Cell cell : this) - cell.setColor(colorGenerator.nextColor(new SquareCell())); + cell.setColor(colorGenerator.nextColor(cell)); } public Iterator<Cell> iterator(){ - return null ; + return new CellGridIterator(new ArrayGrid(numberOfColumns,numberOfRows)); } diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java new file mode 100644 index 0000000..4857772 --- /dev/null +++ b/app/src/main/java/model/CellGridIterator.java @@ -0,0 +1,41 @@ +package model; + +import javafx.scene.paint.Color; + +import java.util.Iterator; + +public class CellGridIterator implements Iterator<Cell> { + private ArrayGrid grid; + private int x ; + private int y ; + + + + public CellGridIterator(ArrayGrid grid){ + this.grid = grid; + } + + @Override + public boolean hasNext() { + if(x< grid.getNumberOfColumns()-1 ||y< grid.getNumberOfRows()-1){ + return true; + } + else { + return false; + } + } + + public Cell next(){ + Cell cell = grid.getCell(y, x); + if (x< grid.getNumberOfRows()-1){ + x = x + 1; + } + else { + y = y + 1; + x = 0; + } + return cell; + + } +} + diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java index 18e7f4d..b47a50b 100644 --- a/app/src/main/java/model/GrayGrid.java +++ b/app/src/main/java/model/GrayGrid.java @@ -1,5 +1,7 @@ package model; +import java.util.Iterator; + public class GrayGrid implements Grid{ private final int numberOfRows; @@ -44,4 +46,7 @@ public class GrayGrid implements Grid{ public void color(ColorGenerator colorGenerator){ } + 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 96e23b9..6c408e4 100644 --- a/app/src/main/java/model/Grid.java +++ b/app/src/main/java/model/Grid.java @@ -30,3 +30,4 @@ public interface Grid extends Iterable<Cell>{ void color(ColorGenerator colorGenerator); } + diff --git a/app/src/main/java/model/UniformColorGenerator.java b/app/src/main/java/model/UniformColorGenerator.java index ec65896..40fca1b 100644 --- a/app/src/main/java/model/UniformColorGenerator.java +++ b/app/src/main/java/model/UniformColorGenerator.java @@ -3,12 +3,14 @@ package model; import javafx.scene.paint.Color; public class UniformColorGenerator implements ColorGenerator{ + private Color color; - - + public UniformColorGenerator(Color color){ + this.color = color; + } public Color nextColor(Cell cell){ - return cell.getColor(); + return color; } } -- GitLab