diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml index 6885f5e21465d2ef2d9c9f20aeca797a58c96b4c..0e292a250fefce248cd8c8933dc2a8f2b0621052 100644 --- a/MAVENProject/PlanUML.puml +++ b/MAVENProject/PlanUML.puml @@ -13,8 +13,6 @@ engine.GraphicalInterface <|-- engine.GameEngineGraphical engine.DrawingPanel <|-- engine.GraphicalInterface engine.GamePainter <|-- engine.DrawingPanel environment.Coordonnees <|-- entity.Entity -environment.Coordonnees *-- jeu.Jeu -entity.Character *-- jeu.Jeu entity.Character <|-- environment.Physique interface engine.GameController { @@ -109,7 +107,7 @@ class jeu.Painter{ class jeu.Controller { - boolean isRightPressed, isLeftPressed, isSpacePressed + <<Create>> Controller() -+ ArrayList<Boolean> getCommand() ++ HashMap<String,Boolean> getCommand() + void keyPressed(KeyEvent) + void keyReleased(KeyEvent) + void keyTyped(KeyEvent) diff --git a/MAVENProject/src/main/java/engine/Game.java b/MAVENProject/src/main/java/engine/Game.java index 0840b23029ded24eea509956c7bbae495845b5dc..4cb58e5d63c02f45baeeb10e1b844b1836dd3dba 100644 --- a/MAVENProject/src/main/java/engine/Game.java +++ b/MAVENProject/src/main/java/engine/Game.java @@ -1,6 +1,7 @@ package engine; import java.util.ArrayList; +import java.util.HashMap; /** * @author Horatiu Cirstea, Vincent Thomas @@ -16,7 +17,7 @@ public interface Game { * @param userCmd * commande utilisateur */ - public void evolve(ArrayList<Boolean> userCmd); + public void evolve(HashMap<String,Boolean> userCmd); /** * @return true si et seulement si le jeu est fini diff --git a/MAVENProject/src/main/java/engine/GameController.java b/MAVENProject/src/main/java/engine/GameController.java index 31d956cb38633e94ffcd298fadfb9cca5622c6f2..8b62d1a46cda25dfcec5cc9e993f5d42fb9e46cf 100644 --- a/MAVENProject/src/main/java/engine/GameController.java +++ b/MAVENProject/src/main/java/engine/GameController.java @@ -2,6 +2,7 @@ package engine; import java.awt.event.KeyListener; import java.util.ArrayList; +import java.util.HashMap; /** * @author Horatiu Cirstea @@ -17,6 +18,6 @@ public interface GameController extends KeyListener { * * @return commande faite par le joueur */ - public ArrayList<Boolean> getCommand(); + public HashMap<String,Boolean> getCommand(); } diff --git a/MAVENProject/src/main/java/engine/GameEngineGraphical.java b/MAVENProject/src/main/java/engine/GameEngineGraphical.java index 2cf54946dbb3e908b646c4879e0f8cb8e4cb0fdb..e1c454e056a56ba2cb5da89a54b2682f0df829c5 100644 --- a/MAVENProject/src/main/java/engine/GameEngineGraphical.java +++ b/MAVENProject/src/main/java/engine/GameEngineGraphical.java @@ -1,6 +1,7 @@ package engine; import java.util.ArrayList; +import java.util.HashMap; /** * @author Horatiu Cirstea, Vincent Thomas @@ -59,7 +60,7 @@ public class GameEngineGraphical { // boucle de game while (!this.game.isFinished()) { // demande controle utilisateur - ArrayList<Boolean> a = this.gameController.getCommand(); // + HashMap<String,Boolean> a = this.gameController.getCommand(); // // fait evoluer le game this.game.evolve(a); // affiche le game diff --git a/MAVENProject/src/main/java/jeu/Controller.java b/MAVENProject/src/main/java/jeu/Controller.java index 93e4eddefa30505d60349c9ffa89571217b66538..0e7a39e6b9af244dd230a4f59ed0b5a96346353d 100644 --- a/MAVENProject/src/main/java/jeu/Controller.java +++ b/MAVENProject/src/main/java/jeu/Controller.java @@ -4,6 +4,7 @@ import engine.GameController; import java.awt.event.KeyEvent; import java.util.ArrayList; +import java.util.HashMap; public class Controller implements GameController{ @@ -23,11 +24,11 @@ public class Controller implements GameController{ * getCommand retourne une liste de booleans sous la forme [isRightPressed, isLeftPressed, isSpacePressed] */ @Override - public ArrayList<Boolean> getCommand() { - ArrayList<Boolean> cmd = new ArrayList<Boolean>(); - cmd.add(isRightPressed); - cmd.add(isLeftPressed); - cmd.add(isSpacePressed); + public HashMap<String,Boolean> getCommand() { + HashMap<String,Boolean> cmd = new HashMap<String,Boolean>(); + cmd.put("Right",isRightPressed); + cmd.put("Left",isLeftPressed); + cmd.put("Jump",isSpacePressed); return cmd; } @Override diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 87d146787ad7b199eaa7b33935cc8aa3ac226cc7..d692f10d5cfdbb07ebd23b883e77f4d916a77eda 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -4,6 +4,7 @@ import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import entity.Character; import engine.Game; @@ -34,7 +35,7 @@ public class Jeu implements Game{ } @Override - public void evolve(ArrayList<Boolean> command) { // command est sous la forme list de Boolean qui represente les touches préssées. Voir Controller pour la compositions de cet list. + public void evolve(HashMap<String,Boolean> command) { // command est sous la forme list de Boolean qui represente les touches préssées. Voir Controller pour la compositions de cet list. System.out.println("Execute "+command); System.out.println(charac.getCoord().getX()); System.out.println(charac.getCoord().getZ()); @@ -44,9 +45,9 @@ public class Jeu implements Game{ comX = 0; comZ = 0; - boolean Right = command.get(0); - boolean Left = command.get(1); - boolean Jump = command.get(2); + boolean Right = command.get("Right"); + boolean Left = command.get("Left"); + boolean Jump = command.get("Jump"); if (Right && Left){} else if (Right) {