From bd8c7028db7df0446db302e682158ef878f8b29d Mon Sep 17 00:00:00 2001
From: s23026062 <melis-damla.sahin@etu.univ-amu.fr>
Date: Fri, 8 Nov 2024 15:15:12 +0100
Subject: [PATCH] =?UTF-8?q?Compl=C3=A9ter=20la=20classe=20CoordinateIterat?=
 =?UTF-8?q?or?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/matrix/CoordinateIterator.java | 24 +++++++++++++++-----
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/main/java/matrix/CoordinateIterator.java b/src/main/java/matrix/CoordinateIterator.java
index 810b712..c74cff9 100644
--- a/src/main/java/matrix/CoordinateIterator.java
+++ b/src/main/java/matrix/CoordinateIterator.java
@@ -8,7 +8,9 @@ import java.util.NoSuchElementException;
  * height range.
  */
 class CoordinateIterator implements Iterator<Coordinate> {
-
+    private final int width ;
+    private final int height ;
+    private Coordinate current = new Coordinate(0,0) ;
     /**
      * Creates a new {@link CoordinateIterator} with the specified width and height.
      *
@@ -16,7 +18,8 @@ class CoordinateIterator implements Iterator<Coordinate> {
      * @param height The height of the coordinate range.
      */
     public CoordinateIterator(int width, int height) {
-        // TODO: à compléter
+        this.width = width ;
+        this.height = height ;
     }
 
     /**
@@ -26,8 +29,7 @@ class CoordinateIterator implements Iterator<Coordinate> {
      */
     @Override
     public boolean hasNext() {
-        // TODO: à compléter
-        return false;
+        return current.y()<height;
     }
 
     /**
@@ -38,7 +40,17 @@ class CoordinateIterator implements Iterator<Coordinate> {
      */
     @Override
     public Coordinate next() {
-        // TODO: à compléter
-        return null;
+        if (!hasNext()) throw new NoSuchElementException();
+
+        Coordinate next = current;
+        // on crée un méthode update
+        update();
+        return next;
+    }
+
+    private void update(){
+        current = current.right();
+        if (current.x() == width)
+            current = new Coordinate(0, current.y()+1);
     }
 }
-- 
GitLab