From bc2b99dd14fef88a0bc1ac92376b964caf78278f Mon Sep 17 00:00:00 2001
From: Hatim Saidi <hatim.saidi@etu.univ-amu.fr>
Date: Wed, 16 Nov 2022 18:48:58 +0100
Subject: [PATCH] test

---
 app/src/main/java/util/RandomUtil.java        | 21 +++++++++++++
 .../java/util/UniformExceptOneGenerator.java  | 30 +++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 app/src/main/java/util/RandomUtil.java
 create mode 100644 app/src/main/java/util/UniformExceptOneGenerator.java

diff --git a/app/src/main/java/util/RandomUtil.java b/app/src/main/java/util/RandomUtil.java
new file mode 100644
index 0000000..8bd2ec4
--- /dev/null
+++ b/app/src/main/java/util/RandomUtil.java
@@ -0,0 +1,21 @@
+package util;
+
+import java.util.List;
+import java.util.Random;
+
+public class RandomUtil {
+
+
+
+    private  RandomUtil(){
+
+    }
+
+    public static <T> T randomElement(T[] elements, Random random){
+        return elements[random.nextInt(elements.length-1)];
+    }
+
+    public static <T> T randomElement(List<T> elements, Random random){
+        return elements.get(random.nextInt(elements.size()-1));
+    }
+}
diff --git a/app/src/main/java/util/UniformExceptOneGenerator.java b/app/src/main/java/util/UniformExceptOneGenerator.java
new file mode 100644
index 0000000..a1e3a4f
--- /dev/null
+++ b/app/src/main/java/util/UniformExceptOneGenerator.java
@@ -0,0 +1,30 @@
+package util;
+
+import javafx.scene.paint.Color;
+import model.Cell;
+import model.ColorGenerator;
+
+public class UniformExceptOneGenerator implements ColorGenerator {
+
+    private Color uniformcolor;
+    private Color exeptioncolor;
+    private  int appels ;
+
+    public UniformExceptOneGenerator(Color uniformColor, Color exceptionColor){
+        this.uniformcolor =uniformColor;
+        this.exeptioncolor = exceptionColor;
+        this.appels += 1;
+    }
+
+
+    @Override
+    public Color nextColor(Cell cell) {
+        UniformExceptOneGenerator u =new UniformExceptOneGenerator(uniformcolor,exeptioncolor);
+        if (u.appels==1){
+          return this.uniformcolor;
+        }
+        else if (u.appels>=2){
+            return this.exeptioncolor;}
+        return null;
+    }
+}
-- 
GitLab