diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java index 78c88c8f10187c0ccb3b2f309ad66d047c4e5ddc..849e6f5b2b5b67b6d982c169cbfb798ea7c8c3ba 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 0000000000000000000000000000000000000000..48577727495b5279354676c27a1d6ecb793d89e4 --- /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 18e7f4d6c40b812ac5145220461ce84c242eb7ce..b47a50b53dc3ba969fe1090abcb99965ae7be8fa 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 96e23b9f5770314a74e353fdbff338e457d7e664..6c408e4512c40d7eb9e1b6afdf30dcf3028a0444 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 ec65896d026abebaf65fbf8a2866ee1ed342bb9b..40fca1be3fc3b15460d8517fc5ee191baa43f106 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; } }