From 7c8699e50bd76db825ff65212e8e427b06cc0b97 Mon Sep 17 00:00:00 2001
From: b21221851 <mohamed-amine.BEL-KHALIFA@etu.univ-amu.fr>
Date: Wed, 9 Nov 2022 11:57:38 +0100
Subject: [PATCH] RandomUtil

---
 app/src/main/java/model/ArrayGrid.java        |  2 +-
 app/src/main/java/model/CellGridIterator.java |  5 ++++-
 app/src/main/java/util/RandomUtil.java        | 18 ++++++++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)
 create mode 100644 app/src/main/java/util/RandomUtil.java

diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java
index 7778885..9ffbdd6 100644
--- a/app/src/main/java/model/ArrayGrid.java
+++ b/app/src/main/java/model/ArrayGrid.java
@@ -37,7 +37,7 @@ public class ArrayGrid implements Grid{
 
     @Override
     public void color(ColorGenerator colorGenerator) {
-        for(Cell[] column : cells ) {
+        for(Cell[] column : this.cells ) {
             for(Cell cell : column) {
                 cell.setColor(colorGenerator.nextColor(cell));
             }
diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java
index 8372f82..d682150 100644
--- a/app/src/main/java/model/CellGridIterator.java
+++ b/app/src/main/java/model/CellGridIterator.java
@@ -15,7 +15,10 @@ public class CellGridIterator implements Iterator<Cell> {
 
     @Override
     public boolean hasNext() {
-        return false;
+        if(this.row==grid.getNumberOfRows() && this.column==grid.getNumberOfColumns()) {
+            return false;
+        }
+        return true;
     }
 
     @Override
diff --git a/app/src/main/java/util/RandomUtil.java b/app/src/main/java/util/RandomUtil.java
new file mode 100644
index 0000000..5abfd59
--- /dev/null
+++ b/app/src/main/java/util/RandomUtil.java
@@ -0,0 +1,18 @@
+package util;
+
+import java.util.Random;
+import java.util.List;
+
+public class RandomUtil {
+    private RandomUtil() {}
+
+    public static <T> T randomElement(T[] elements, Random random) {
+        int i = random.nextInt(elements.length);
+        return elements[i];
+    }
+
+    public static <T> T randomElement(List<T> elements, Random random) {
+        int i = random.nextInt(elements.size());
+        return elements.get(i);
+    }
+}
-- 
GitLab