From 892f690fb7731e356fcd63d79fd387db6b8db088 Mon Sep 17 00:00:00 2001 From: Romain Lebouc <rlebouc@insa-rennes.fr> Date: Fri, 13 May 2016 16:54:49 +0200 Subject: [PATCH] GUI: random generation of start now has a mawimum amount for every fish tile type --- gui/src/controller/Controller.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gui/src/controller/Controller.java b/gui/src/controller/Controller.java index 010484f..2739604 100644 --- a/gui/src/controller/Controller.java +++ b/gui/src/controller/Controller.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.URL; +import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.ResourceBundle; @@ -32,6 +33,7 @@ public class Controller implements Initializable private static final String iaProgramPath = "../bin/theturk"; private static final String introMusicFile = "./resource/pingu_theme.wav"; private static final String clickSoundFile = "./resource/clic.wav"; + private static final int max1Fish = 30, max2Fish = 20, max3Fish = 10; private GameState gameState; private Process gameProcess; @@ -121,12 +123,21 @@ public class Controller implements Initializable gameState.setScore(Player.Red, 0); gameState.setScore(Player.Blue, 0); //Generating random fish values + int[] fishCount = {0,0,0}; for (int i = 0; i < 60; i++) { - int nbFish = new Random().nextInt(3) + 1; + List<Integer> possibleFish = new ArrayList<>(); + if(fishCount[0] < max1Fish) + possibleFish.add(1); + if(fishCount[1] < max2Fish) + possibleFish.add(2); + if(fishCount[2] < max3Fish) + possibleFish.add(3); + int nbFish = possibleFish.get(new Random().nextInt(possibleFish.size())); gameState.setFish(i, nbFish); board[i].setNbFish(nbFish); boardView[i].update(); + fishCount[nbFish-1]++; } //Adding listener to add penguins penguinGenCounter = 0; -- GitLab