diff --git a/doc/sprint-3/.gitkeep b/doc/sprint-3/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/sprint-3/radiateur-3.heic b/doc/sprint-3/radiateur-3.heic
new file mode 100644
index 0000000000000000000000000000000000000000..877f25d37cdc4d706fd3b1b7835ef15825a286bf
Binary files /dev/null and b/doc/sprint-3/radiateur-3.heic differ
diff --git a/src/main/java/bitFight/ActionHeight.java b/src/main/java/bitFight/ActionHeight.java
new file mode 100644
index 0000000000000000000000000000000000000000..c18a445eacc266e3f2c8184f2edc52e140c0b1aa
--- /dev/null
+++ b/src/main/java/bitFight/ActionHeight.java
@@ -0,0 +1,5 @@
+package bitFight;
+
+public enum ActionHeight {
+    HIGH,LOW;
+}
diff --git a/src/main/java/bitFight/Attack.java b/src/main/java/bitFight/Attack.java
index 3921dcbf69e176136d580b3310bc70dedd8ab479..a45139e8f8369975529389583b642d6726562863 100644
--- a/src/main/java/bitFight/Attack.java
+++ b/src/main/java/bitFight/Attack.java
@@ -1,17 +1,19 @@
 package bitFight;
 
 public enum Attack implements Action {
-    PUNCH(10, "punch"),
-    KICK(20, "kick"),
-    SUPERMANPUNCH(50,"supermanpunch"),
-    DOUBLEKICK(60, "doublekick")
+    PUNCH(10, "punch", ActionHeight.HIGH),
+    KICK(20, "kick", ActionHeight.LOW),
+    SUPERMANPUNCH(50,"supermanpunch", ActionHeight.HIGH),
+    DOUBLEKICK(60, "doublekick", ActionHeight.LOW)
     ;
     private int damage;
     private String name;
+    private ActionHeight height;
     
-    Attack(int damage, String name) {
+    Attack(int damage, String name, ActionHeight height) {
         this.damage = damage;
         this.name = name;
+        this.height = height;
     }
     public int getDamage() {
         return damage;
@@ -23,4 +25,8 @@ public enum Attack implements Action {
     public String getName() {
         return name;
     }
+
+    public ActionHeight getHeight(){
+        return height;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/bitFight/Defense.java b/src/main/java/bitFight/Defense.java
index 2bcd673ec56d02cd6d72979ba6790dd1848a19a4..104f3b442af755783ae1e7d77a4f2e2ca2720b99 100644
--- a/src/main/java/bitFight/Defense.java
+++ b/src/main/java/bitFight/Defense.java
@@ -1,7 +1,32 @@
 package bitFight;
 
-public class Defense implements Action {
-    public String getAction() {
+public enum Defense implements Action {
+    HIGHBLOCK("highblock",ActionHeight.HIGH),
+    LOWBLOCK("lowblock",ActionHeight.LOW);
+
+    private String name;
+    private ActionHeight height;
+
+    Defense(String name, ActionHeight height){
+        this.name = name;
+        this.height = height;
+    }
+
+    
+
+    public String getName() {
+        return name;
+    }
+
+    public ActionHeight getHeight() {
+        return height;
+    }
+
+    public Action getActionType() {
+        return this;
+    }
+
+    public String getActionTypeToString() {
         return "Defense";
     }
 }
diff --git a/src/main/java/bitFight/Main.java b/src/main/java/bitFight/Main.java
index 24ac0ad088c33a987d66cacc463ecebd389d2e4f..1b209e76725ec459994acc4c3f3d5be7f5e48939 100644
--- a/src/main/java/bitFight/Main.java
+++ b/src/main/java/bitFight/Main.java
@@ -16,6 +16,10 @@ class Main {
         menu.validate();
 
 
+        // Choix Input
+        System.out.println("a - Attaquer");
+        System.out.println("q - Quitter");
+
         // Récupère le nom de cahque attaque dans une ArrayList
         ArrayList<String> attacksNames = new ArrayList<>();
         for (Attack a : Attack.values()) {
@@ -33,36 +37,39 @@ class Main {
 
         Player player = new Player("play");
 
-        System.out.println(enemy.getCurrentHealth());
-
         while (!input.getInput().equals("q") && !enemy.isDead() && !player.isDead()) {
-            System.out.println("départ");
+            //System.out.println("départ");
 
             LocalDateTime timeBeforeAttack = LocalDateTime.now();
             int attackTime = 8 - (int)(5 * rand.nextDouble()); //A garder au début de la boucle
 
+
             // Affiche un message lors d'un input non répertorié
             if(!input.validInput()){
                 System.out.println("Error input invalid");
                 input.setInput(in.nextLine());
             }
-            System.out.println("input valide");
+            //System.out.println("input valide");
 
+            /*
             if (input.getInput().equals("a")) {
                 enemy.damage(Attack.PUNCH.getDamage());
                 System.out.println(enemy.toString());
                 System.out.println(player.toString());
                 input.setInput(in.nextLine());
-            }
+            }*/
+            
             if(Duration.between(timeBeforeAttack, LocalDateTime.now()).toSeconds() > attackTime){
                 //TODO, code pour joueur qui vient de se faire attaquer, FIN DE BOUCLE
                 System.out.println("Attaque de l'ennemi (Trop lent!!!!!!!!!!!!!!!!!!!!!)");
             } else if (input.getInput().equals("a")) {
+                System.out.println("les attaques disponible sont : \n \t punch , kick , double kikck , superman punch . \"");
                 input.setInput(in.nextLine());
                 // Boucle tant que le joueur n'a pas taper de nom d'une attaque valide
                 while (!attacksNames.contains(input.getInput())) {
                     if (!attacksNames.contains(input.getInput())){
-                        System.out.println("WARNING ! : Choose an attack in the list");
+                        //System.out.println("WARNING ! : Choose an attack in the list");
+                        System.out.println("cette attaque n'est pas disponible :( \n les attaques disponible sont : \n \t punch , kick , double kick , supermanpunch . ");
                         input.setInput(in.nextLine());
                     }
                 }
@@ -70,10 +77,12 @@ class Main {
                 enemy.damage(Attack.valueOf(attack).getDamage());
                 
                 System.out.println(enemy.toString());
+
+                System.out.println("a - Attaquer");
+                System.out.println("q - Quitter");
+
                 input.setInput(in.nextLine());
 
-            }else{
-                System.out.println("cette attaque n'est pas disponible :( \n les attaques disponible sont : \n \t punch , kick , double kikck , superman punch . ");
             }
         }
 
diff --git a/src/test/java/attackTest.java b/src/test/java/bitFight/attackTest.java
similarity index 100%
rename from src/test/java/attackTest.java
rename to src/test/java/bitFight/attackTest.java
diff --git a/src/test/java/test.java b/src/test/java/bitFight/test.java
similarity index 60%
rename from src/test/java/test.java
rename to src/test/java/bitFight/test.java
index 35254f65999a17f8c7f72cd342b527f116181d0c..a0c257336e130508fe752bfadbb91068612996e4 100644
--- a/src/test/java/test.java
+++ b/src/test/java/bitFight/test.java
@@ -1,3 +1,4 @@
+package bitFight;
 public class test {
     
 }