diff --git a/app/src/main/java/util/RandomUtil.java b/app/src/main/java/util/RandomUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..8bd2ec4663d1d4036df5bf59cd8fbe0b9e94b3b7 --- /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 0000000000000000000000000000000000000000..a1e3a4fe0110577d5480034593a0bc3b456bd270 --- /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; + } +}