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