From 40e52b8e76902b99ee2dd49ec1b5cd906c9737c1 Mon Sep 17 00:00:00 2001
From: Hang <thi-hang.NGUYEN@etu.univ-amu.fr>
Date: Wed, 9 Nov 2022 16:55:50 +0100
Subject: [PATCH] THN

---
 app/src/main/java/model/ArrayGrid.java        |  2 +-
 app/src/main/java/model/CellGridIterator.java | 26 ++++++++-----------
 2 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
index 93644e7..0ce83d7 100644
--- a/app/src/main/java/model/ArrayGrid.java
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -33,6 +33,6 @@ public class ArrayGrid implements Grid{
         }
     }
     public Iterator<Cell> iterator(){
-        return new CellGridIterator();
+        return new CellGridIterator(this);
     }
 }
diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java
index 4c79080..04199f3 100644
--- a/app/src/main/java/model/CellGridIterator.java
+++ b/app/src/main/java/model/CellGridIterator.java
@@ -2,29 +2,25 @@ package model;
 
 public class CellGridIterator implements Iterator<Cell>{
     ArrayGrid grid;
-    Iterator<Cell> it=grid.iterator();
     int indixRow;
     int indixColum;
 
     public CellGridIterator(ArrayGrid grid) {
         this.grid = grid;
+        this.indixColum=0;
+        this.indixRow=0;
     }
-    public SquareCell next() {
-        int i = 0;
-        while (i < grid.getNumberOfRows()) {
-
-            while (it.hasNext()) {
-                return it.next();
-            }
-            i++;
+    public Cell next() {
+        final Cell result = grid.getCell(indixRow, indixColum);
+        indixColum = (indixColum +1) % grid.getNumberOfColumns();
+        if(indixColum == 0){
+            indixRow++;
         }
-    }
-    public boolean hasNext( ){
-        int n;
-
-        if(n>= grid.getNumberOfColumns()|| n>= grid.getNumberOfRows()) return false;
-
+        return result;
 
 
     }
+    public boolean hasNext(){
+            return this.indixColum < this.grid.getNumberOfColumns() && indixRow < this.grid.getNumberOfRows();
+    }
 }
-- 
GitLab