diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml
index 4bde9d3363365288fdefe841dfe5729bbba01ae9..1864a6708923f3486bf93f6a85eda2830d13d8c1 100644
--- a/MAVENProject/PlanUML.puml
+++ b/MAVENProject/PlanUML.puml
@@ -117,5 +117,8 @@ class jeu.Jeu{
 + void evolve(Cmd)
 + boolean isFinished()
 }
-
+class environment.Physique{
+- double g
+- double lambda
+}
 @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 afec9801c87abdd4644aa6a03743079900e5904c..ec252f787e7afa46d57a7299bbcb7a74f65e3977 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -4,8 +4,8 @@ import environnement.Coordonnees;
 import environnement.Physique;
 
 public class Character extends Entity{
-    Coordonnees coord;
-    double vitesseMax; // vitesse max
+    //Coordonnees coord;
+    //double vitesseMax; // vitesse max
     double vitesseActuX = 0; // vitesse actuelle supposée nulle au départ
     double vitesseActuZ = 0;
     double m;
@@ -21,14 +21,16 @@ public class Character extends Entity{
 
         //on actualise les positions
         double newX,newZ;
-        newX = -Physique.lambda/m*(vitesseActuX - commandX)*Math.exp(-Physique.lambda/m*delta) + commandX*delta + coord.getX();
-        newZ = ((alpha-1)*Physique.g + commandZ)/2*delta*delta + vitesseActuZ*delta + coord.getZ();
-        coord = new Coordonnees(newX, newZ);
+        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
 
         //on actualise les vitesses
-        vitesseActuX = (vitesseActuX - commandX)*Math.exp(-Physique.lambda*delta/m);
-        vitesseActuX += commandX;
-        vitesseActuZ += ((alpha-1) + commandZ)*Physique.g;
+        vitesseActuX = (vitesseActuX - commandX/Physique.lambda)*Math.exp(-delta*Physique.lambda/m);
+        vitesseActuX += commandX/Physique.lambda;
+        vitesseActuZ = vitesseActuZ + ((1-alpha)*Physique.g - commandZ/m)*delta;
+        //vitesseActuZ = -vitesseActuZ;
+
 
         
     }
@@ -36,4 +38,26 @@ public class Character extends Entity{
     public void attaque(){
 
     }
+
+    public Coordonnees getCoord() {
+        return coord;
+    }
+
+    public double getVitesseMax() {
+        return vitesseMax;
+    }
+
+    public double getVitesseActuX() {
+        return vitesseActuX;
+    }
+
+    public double getVitesseActuZ() {
+        return vitesseActuZ;
+    }
+
+    public double getM() {
+        return m;
+    }
+
+    
 }
diff --git a/MAVENProject/src/main/java/environnement/Coordonnees.java b/MAVENProject/src/main/java/environnement/Coordonnees.java
index 949fa25fb4461c9aa148d98dc4bce493a635049e..9ae4f99c978c169741d0414b565d5293bc32df66 100644
--- a/MAVENProject/src/main/java/environnement/Coordonnees.java
+++ b/MAVENProject/src/main/java/environnement/Coordonnees.java
@@ -1,7 +1,5 @@
 package environnement;
 
-import entity.Character;
-import entity.Entity;
 
 public class Coordonnees {
     private double x;
@@ -18,12 +16,6 @@ public class Coordonnees {
         return 0;
     }
 
-    public void testOrdiVerdun(){
-        Entity e = new Character(this, 10,100);
-        e.attaque(); //juste les msg d'erreurs me triggeraient
-        System.out.println("test");
-    }
-
     public double getX() {
         return x;
     }
diff --git a/MAVENProject/src/main/java/environnement/Physique.java b/MAVENProject/src/main/java/environnement/Physique.java
index 340dc8e8b65da780ace7b27cee08165e79895130..e6dae14960f74878a1f59011687dedef1cca4715 100644
--- a/MAVENProject/src/main/java/environnement/Physique.java
+++ b/MAVENProject/src/main/java/environnement/Physique.java
@@ -2,5 +2,5 @@ package environnement;
 
 public class Physique {
     public static final double g = 9.81; // pesanteur
-    public static final double lambda = 3; // coefficient de frottements
+    public static final double lambda = 1; // coefficient de frottements
 }
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index 2d8538ca89f09028ba7dc8df244f4ecfca041956..428478ca6cf2829747b1ffa70d5e5fa42dac97db 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -5,7 +5,7 @@ import engine.Game;
 import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.IOException;
-import static jeu.Painter.coordonnees;
+import static jeu.Painter.charac;
 
 public class Jeu implements Game{
 
@@ -26,18 +26,38 @@ public class Jeu implements Game{
     @Override
     public void evolve(Cmd commande) {
         System.out.println("Execute "+commande);
+        System.out.println(charac.getCoord().getX());
+        System.out.println(charac.getCoord().getZ());
+        double comX,comZ;
+        int a = 1;
+        comX = 0;
+        comZ = 0;
+        
         switch (commande) {
             case LEFT:
-                coordonnees.evolveX(-2);
+                comX = -charac.getVitesseMax();
+                //coordonnees.evolveX(-2);
                 break;
             case RIGHT:
-                coordonnees.evolveX(2);
+                comX = charac.getVitesseMax();  
+            //coordonnees.evolveX(2);
                 break;
             case JUMP:
+                comZ = 3*charac.getVitesseMax();
+                if (charac.getCoord().getZ() < 80)a = 0;
                 break;
             case IDLE:
+            if (charac.getCoord().getZ() < 80){ //a retoucher, j'ai besoin d'autres choses pour avancer
+                    a = 0;
+                }
+                else{
+                    a = 1;
+                }
                 break;
+            
+        
         }
+        charac.deplacements(comX, comZ, a);
     }
 
     @Override
diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java
index e0cd262084e331cb555d436df5f2e0afedfc89fd..aed8aee6452c2045c1fe5d41a130b8f92c1f6e64 100644
--- a/MAVENProject/src/main/java/jeu/Painter.java
+++ b/MAVENProject/src/main/java/jeu/Painter.java
@@ -4,23 +4,26 @@ import engine.GamePainter;
 import environnement.Coordonnees;
 import java.awt.*;
 import java.awt.image.BufferedImage;
+import entity.Character;
 
 public class Painter implements GamePainter{
 
     protected static final int WIDTH = 1000;
-    protected static final int HEIGHT = 100;
-    public static Coordonnees coordonnees;
+    protected static final int HEIGHT = 1000;
+    public static Character charac;
 
     public Painter() {
-        coordonnees = new Coordonnees(20,80);
+        Coordonnees coordonnees = new Coordonnees(20,80);
+        
+        charac = new Character(coordonnees, 36, 50000);
     }
 
     @Override
     public void draw(BufferedImage im) {
         Graphics2D crayon = (Graphics2D) im.getGraphics();
         crayon.setColor(Color.blue);
-        int x = new Double(coordonnees.getX()).intValue();
-        int y = new Double(coordonnees.getZ()).intValue();
+        int x = (int) charac.getCoord().getX();
+        int y = (int) charac.getCoord().getZ();
         crayon.fillOval(x,y,10,10);
     }