diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml index 1864a6708923f3486bf93f6a85eda2830d13d8c1..42c30d5f9872ac8843b34629668ed0dd12098408 100644 --- a/MAVENProject/PlanUML.puml +++ b/MAVENProject/PlanUML.puml @@ -90,9 +90,13 @@ class environment.Object { class environment.Obstacle{ } class environment.Coordonnees{ -+ int x -+ int z +- int x +- int z + {static} int distance(Object,Object) ++ double getX() ++ double getZ() ++ void evolveX(double var) ++ void evolveZ(double var) } @@ -117,8 +121,14 @@ class jeu.Jeu{ + void evolve(Cmd) + boolean isFinished() } +<<<<<<< HEAD class environment.Physique{ - double g - double lambda } +======= + + + +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 @enduml \ No newline at end of file diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java index ec252f787e7afa46d57a7299bbcb7a74f65e3977..e697a08964f875f24bda0994f36e4c813bd935d5 100644 --- a/MAVENProject/src/main/java/entity/Character.java +++ b/MAVENProject/src/main/java/entity/Character.java @@ -4,8 +4,13 @@ import environnement.Coordonnees; import environnement.Physique; public class Character extends Entity{ +<<<<<<< HEAD //Coordonnees coord; //double vitesseMax; // vitesse max +======= + + double vitesseMax; // vitesse max +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 double vitesseActuX = 0; // vitesse actuelle supposée nulle au départ double vitesseActuZ = 0; double m; @@ -15,15 +20,22 @@ public class Character extends Entity{ this.m = m; } - + @Override public void deplacements(double commandX,double commandZ,int alpha){ // alpha indique si il est au sol ou non, il vaut 0 ou 1 en fonction double delta = 0.1; // pas de temps = 0.1s //on actualise les positions double newX,newZ; +<<<<<<< HEAD newX = -Physique.lambda/m*(vitesseActuX - commandX/Physique.lambda)*Math.exp(-Physique.lambda*delta/m) + commandX*delta + coord.getX(); newZ = ((1-alpha)*Physique.g - commandZ/m)/2*delta*delta + vitesseActuZ*delta + coord.getZ(); coord = new Coordonnees(newX, newZ); // repere ou la hauteur augmente vers le bas, a revoir +======= + newX = ((-Physique.lambda / m) * (vitesseActuX - commandX) * Math.exp(-Physique.lambda / m * delta)) + (commandX * delta) + this.getCoord().getX(); + newZ = ((alpha-1)*Physique.g + commandZ)/2*delta*delta + vitesseActuZ*delta + this.getCoord().getZ(); + this.getCoord().evolveX(newX); + this.getCoord().evolveZ(newZ); +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 //on actualise les vitesses vitesseActuX = (vitesseActuX - commandX/Physique.lambda)*Math.exp(-delta*Physique.lambda/m); @@ -34,7 +46,7 @@ public class Character extends Entity{ } - + @Override public void attaque(){ } diff --git a/MAVENProject/src/main/java/entity/Entity.java b/MAVENProject/src/main/java/entity/Entity.java index d0c9da22087bb567c35a0d221a1b8fbfab22a6b6..90915220e7af11d342c28608a12479643f969e7d 100644 --- a/MAVENProject/src/main/java/entity/Entity.java +++ b/MAVENProject/src/main/java/entity/Entity.java @@ -3,13 +3,16 @@ package entity; import environnement.Coordonnees; public abstract class Entity { - Coordonnees coord; + private Coordonnees coord; int vitesseMax; public Entity(Coordonnees c,int vitesseMax){ this.coord = c; this.vitesseMax = vitesseMax; } - public void deplacements(){} + public void deplacements(double commandX, double commandZ, int alpha){} public void attaque(){} + public Coordonnees getCoord(){ + return this.coord; + } // Pour retourner les coordonées } diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 428478ca6cf2829747b1ffa70d5e5fa42dac97db..024bd1d7cc60b28122c7d2fc82359e65823c2aa8 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -5,10 +5,23 @@ import engine.Game; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; +<<<<<<< HEAD import static jeu.Painter.charac; +======= +import entity.Character; +import environnement.Coordonnees; + +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 public class Jeu implements Game{ + public static Coordonnees coordonnees = new Coordonnees(20,80); + public static Character personnage = new Character(coordonnees,10,1); // pour simplifier les tests ce n'est pas de cette façon que le personnage sera créé à la fin + + public static double commandX; // pour la commande deplacements + + public static double commandZ; // pour la commande deplacements + public Jeu(String source) { BufferedReader helpReader; try { @@ -26,6 +39,7 @@ public class Jeu implements Game{ @Override public void evolve(Cmd commande) { System.out.println("Execute "+commande); +<<<<<<< HEAD System.out.println(charac.getCoord().getX()); System.out.println(charac.getCoord().getZ()); double comX,comZ; @@ -53,6 +67,33 @@ public class Jeu implements Game{ else{ a = 1; } +======= + + System.out.println(coordonnees.getX()); // test pour debugger + System.out.println(coordonnees.getZ()); + System.out.println(personnage.getCoord().getX()); + + switch (commande) { + case LEFT: + commandX = 1; // valeur arbitraire pour toutes les commendes X et Z Louis à toi de voir + commandZ = 0; + personnage.deplacements(commandX,commandZ,0); + break; + case RIGHT: + commandX = -1; + commandZ = 0; + personnage.deplacements(commandX,commandZ,0); + break; + case JUMP: + commandZ = 6; + commandX = 0; + personnage.deplacements(commandX,commandZ,0); + break; + case IDLE: + commandZ = 0; + commandX = 0; + personnage.deplacements(commandX,commandZ,0); +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 break; diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java index aed8aee6452c2045c1fe5d41a130b8f92c1f6e64..38edc007fd53d70ff3a5bc87b8906270ac237627 100644 --- a/MAVENProject/src/main/java/jeu/Painter.java +++ b/MAVENProject/src/main/java/jeu/Painter.java @@ -1,14 +1,18 @@ package jeu; import engine.GamePainter; -import environnement.Coordonnees; import java.awt.*; import java.awt.image.BufferedImage; +<<<<<<< HEAD import entity.Character; +======= +import static jeu.Jeu.coordonnees; +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 public class Painter implements GamePainter{ protected static final int WIDTH = 1000; +<<<<<<< HEAD protected static final int HEIGHT = 1000; public static Character charac; @@ -16,14 +20,24 @@ public class Painter implements GamePainter{ Coordonnees coordonnees = new Coordonnees(20,80); charac = new Character(coordonnees, 36, 50000); +======= + protected static final int HEIGHT = 100; + + public Painter() { +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 } @Override public void draw(BufferedImage im) { Graphics2D crayon = (Graphics2D) im.getGraphics(); crayon.setColor(Color.blue); +<<<<<<< HEAD int x = (int) charac.getCoord().getX(); int y = (int) charac.getCoord().getZ(); +======= + int x = (int)Math.round(coordonnees.getX()); + int y = (int)Math.round(coordonnees.getZ()); +>>>>>>> b21761b421591b5fad482fd94972d5eb53ff8a31 crayon.fillOval(x,y,10,10); }