diff --git a/gui/src/Case.java b/gui/src/Case.java index 150d2419288057cf06f4ee34a9e039d5427df6cd..20845cdceb89188f022546bea35dfeb6d2eead93 100644 --- a/gui/src/Case.java +++ b/gui/src/Case.java @@ -2,28 +2,28 @@ import javafx.scene.shape.Polygon; public class Case { - private int rang; //N� de la case (bottom right = 0, top left = 59) + private int rang; //N de la case (bottom right = 0, top left = 59) private int nbFish;//Nb de poissons sur la case (0 si vide) - private boolean bluePenguin; //true s'il y a un pinguin bleu sur la case - private boolean redPenguin; //true s'il y a un pinguin rouge sur la case + private Penguins penguins; private Polygon caseFX; - public Case(int rang, int nbFish, boolean bluePenguin, boolean redPenguin, Polygon caseFX) { - super(); + + public Case(int rang, Penguins penguins, Polygon caseFX) + { this.rang = rang; - this.nbFish = nbFish; - this.bluePenguin = bluePenguin; - this.redPenguin = redPenguin; + this.penguins = penguins; this.caseFX = caseFX; + this.nbFish = 0; } - public Case(int rang, Polygon caseFX) { //Constructeur de case vide - super(); - this.rang = rang; - this.caseFX = caseFX; - nbFish=0; - bluePenguin=false; - redPenguin=false; + public Case(int rang, int nbFish, Penguins penguins, Polygon caseFX) { + this(rang, penguins, caseFX); + this.nbFish = nbFish; + } + + public enum Penguins + { + NO_PENGUIN, RED_PENGUIN, BLUE_PENGUIN; } } diff --git a/gui/src/Controller.java b/gui/src/Controller.java index b890fc57930334579e67effefbe8294e56b213d6..4925ef3b8efb12640cf47f167372ed92c56c3773 100644 --- a/gui/src/Controller.java +++ b/gui/src/Controller.java @@ -5,6 +5,8 @@ import java.util.ResourceBundle; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.Initializable; +import javafx.scene.control.Alert; +import javafx.scene.control.ButtonType; import javafx.scene.input.MouseEvent; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; @@ -13,146 +15,31 @@ public class Controller implements Initializable { private State state; private Process gameProcess; + private Plateau plateau; @FXML private Polygon case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59; - + @FXML private BorderPane panneauPrincipal; @Override public void initialize(URL location, ResourceBundle resources) { - - /*try { + Polygon[] cases = {case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59}; + for(Polygon c : cases) + { + c.setOnMouseClicked(new MyClickHandler()); + c.setOnMouseEntered(new MyHexEnteredHandler()); + } + this.plateau = new Plateau(cases); + try { this.gameProcess = new ProcessBuilder("../bin/theturk").start(); } catch (IOException e) { - // TODO Error message and exit + Alert alert = new Alert(Alert.AlertType.ERROR,"Can't run penguin program", ButtonType.OK); + alert.showAndWait(); e.printStackTrace(); - }*/ - - - - case0.setOnMouseClicked(new MyClickHandler()); - case1.setOnMouseClicked(new MyClickHandler()); - case2.setOnMouseClicked(new MyClickHandler()); - case3.setOnMouseClicked(new MyClickHandler()); - case4.setOnMouseClicked(new MyClickHandler()); - case5.setOnMouseClicked(new MyClickHandler()); - case6.setOnMouseClicked(new MyClickHandler()); - case7.setOnMouseClicked(new MyClickHandler()); - case8.setOnMouseClicked(new MyClickHandler()); - case9.setOnMouseClicked(new MyClickHandler()); - case10.setOnMouseClicked(new MyClickHandler()); - case11.setOnMouseClicked(new MyClickHandler()); - case12.setOnMouseClicked(new MyClickHandler()); - case13.setOnMouseClicked(new MyClickHandler()); - case14.setOnMouseClicked(new MyClickHandler()); - case15.setOnMouseClicked(new MyClickHandler()); - case16.setOnMouseClicked(new MyClickHandler()); - case17.setOnMouseClicked(new MyClickHandler()); - case18.setOnMouseClicked(new MyClickHandler()); - case19.setOnMouseClicked(new MyClickHandler()); - case20.setOnMouseClicked(new MyClickHandler()); - case21.setOnMouseClicked(new MyClickHandler()); - case22.setOnMouseClicked(new MyClickHandler()); - case23.setOnMouseClicked(new MyClickHandler()); - case24.setOnMouseClicked(new MyClickHandler()); - case25.setOnMouseClicked(new MyClickHandler()); - case26.setOnMouseClicked(new MyClickHandler()); - case27.setOnMouseClicked(new MyClickHandler()); - case28.setOnMouseClicked(new MyClickHandler()); - case29.setOnMouseClicked(new MyClickHandler()); - case30.setOnMouseClicked(new MyClickHandler()); - case31.setOnMouseClicked(new MyClickHandler()); - case32.setOnMouseClicked(new MyClickHandler()); - case33.setOnMouseClicked(new MyClickHandler()); - case34.setOnMouseClicked(new MyClickHandler()); - case35.setOnMouseClicked(new MyClickHandler()); - case36.setOnMouseClicked(new MyClickHandler()); - case37.setOnMouseClicked(new MyClickHandler()); - case38.setOnMouseClicked(new MyClickHandler()); - case39.setOnMouseClicked(new MyClickHandler()); - case40.setOnMouseClicked(new MyClickHandler()); - case41.setOnMouseClicked(new MyClickHandler()); - case42.setOnMouseClicked(new MyClickHandler()); - case43.setOnMouseClicked(new MyClickHandler()); - case44.setOnMouseClicked(new MyClickHandler()); - case45.setOnMouseClicked(new MyClickHandler()); - case46.setOnMouseClicked(new MyClickHandler()); - case47.setOnMouseClicked(new MyClickHandler()); - case48.setOnMouseClicked(new MyClickHandler()); - case49.setOnMouseClicked(new MyClickHandler()); - case50.setOnMouseClicked(new MyClickHandler()); - case51.setOnMouseClicked(new MyClickHandler()); - case52.setOnMouseClicked(new MyClickHandler()); - case53.setOnMouseClicked(new MyClickHandler()); - case54.setOnMouseClicked(new MyClickHandler()); - case55.setOnMouseClicked(new MyClickHandler()); - case56.setOnMouseClicked(new MyClickHandler()); - case57.setOnMouseClicked(new MyClickHandler()); - case58.setOnMouseClicked(new MyClickHandler()); - case59.setOnMouseClicked(new MyClickHandler()); - - case0.setOnMouseEntered(new MyHexEnteredHandler()); - case1.setOnMouseEntered(new MyHexEnteredHandler()); - case2.setOnMouseEntered(new MyHexEnteredHandler()); - case3.setOnMouseEntered(new MyHexEnteredHandler()); - case4.setOnMouseEntered(new MyHexEnteredHandler()); - case5.setOnMouseEntered(new MyHexEnteredHandler()); - case6.setOnMouseEntered(new MyHexEnteredHandler()); - case7.setOnMouseEntered(new MyHexEnteredHandler()); - case8.setOnMouseEntered(new MyHexEnteredHandler()); - case9.setOnMouseEntered(new MyHexEnteredHandler()); - case10.setOnMouseEntered(new MyHexEnteredHandler()); - case11.setOnMouseEntered(new MyHexEnteredHandler()); - case12.setOnMouseEntered(new MyHexEnteredHandler()); - case13.setOnMouseEntered(new MyHexEnteredHandler()); - case14.setOnMouseEntered(new MyHexEnteredHandler()); - case15.setOnMouseEntered(new MyHexEnteredHandler()); - case16.setOnMouseEntered(new MyHexEnteredHandler()); - case17.setOnMouseEntered(new MyHexEnteredHandler()); - case18.setOnMouseEntered(new MyHexEnteredHandler()); - case19.setOnMouseEntered(new MyHexEnteredHandler()); - case20.setOnMouseEntered(new MyHexEnteredHandler()); - case21.setOnMouseEntered(new MyHexEnteredHandler()); - case22.setOnMouseEntered(new MyHexEnteredHandler()); - case23.setOnMouseEntered(new MyHexEnteredHandler()); - case24.setOnMouseEntered(new MyHexEnteredHandler()); - case25.setOnMouseEntered(new MyHexEnteredHandler()); - case26.setOnMouseEntered(new MyHexEnteredHandler()); - case27.setOnMouseEntered(new MyHexEnteredHandler()); - case28.setOnMouseEntered(new MyHexEnteredHandler()); - case29.setOnMouseEntered(new MyHexEnteredHandler()); - case30.setOnMouseEntered(new MyHexEnteredHandler()); - case31.setOnMouseEntered(new MyHexEnteredHandler()); - case32.setOnMouseEntered(new MyHexEnteredHandler()); - case33.setOnMouseEntered(new MyHexEnteredHandler()); - case34.setOnMouseEntered(new MyHexEnteredHandler()); - case35.setOnMouseEntered(new MyHexEnteredHandler()); - case36.setOnMouseEntered(new MyHexEnteredHandler()); - case37.setOnMouseEntered(new MyHexEnteredHandler()); - case38.setOnMouseEntered(new MyHexEnteredHandler()); - case39.setOnMouseEntered(new MyHexEnteredHandler()); - case40.setOnMouseEntered(new MyHexEnteredHandler()); - case41.setOnMouseEntered(new MyHexEnteredHandler()); - case42.setOnMouseEntered(new MyHexEnteredHandler()); - case43.setOnMouseEntered(new MyHexEnteredHandler()); - case44.setOnMouseEntered(new MyHexEnteredHandler()); - case45.setOnMouseEntered(new MyHexEnteredHandler()); - case46.setOnMouseEntered(new MyHexEnteredHandler()); - case47.setOnMouseEntered(new MyHexEnteredHandler()); - case48.setOnMouseEntered(new MyHexEnteredHandler()); - case49.setOnMouseEntered(new MyHexEnteredHandler()); - case50.setOnMouseEntered(new MyHexEnteredHandler()); - case51.setOnMouseEntered(new MyHexEnteredHandler()); - case52.setOnMouseEntered(new MyHexEnteredHandler()); - case53.setOnMouseEntered(new MyHexEnteredHandler()); - case54.setOnMouseEntered(new MyHexEnteredHandler()); - case55.setOnMouseEntered(new MyHexEnteredHandler()); - case56.setOnMouseEntered(new MyHexEnteredHandler()); - case57.setOnMouseEntered(new MyHexEnteredHandler()); - case58.setOnMouseEntered(new MyHexEnteredHandler()); - case59.setOnMouseEntered(new MyHexEnteredHandler()); + System.exit(1); + } } //public Polygon getPolygonFromCoordinates(double x, double y){ } diff --git a/gui/src/Plateau.java b/gui/src/Plateau.java index 7686b57775b09172c2c90777b4824567a297cf3a..a8cc1ff8d03b999a86b525f0e857095dc81a6958 100644 --- a/gui/src/Plateau.java +++ b/gui/src/Plateau.java @@ -1,12 +1,13 @@ +import javafx.scene.shape.Polygon; public class Plateau { private Case[] grille; //Constructeur de grille vide (0 fish, 0 penguins) - public Plateau(){ + public Plateau(Polygon[] casesFX){ grille = new Case[60]; - for (int i=0; i<60 ; i++){ - grille[i]= new Case(i); + for (int i=0; i<casesFX.length ; i++){ + grille[i]= new Case(i, Case.Penguins.NO_PENGUIN, casesFX[i]); } }