diff --git a/doc/sprint-2/.gitkeep b/doc/sprint-2/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/sprint-2/README.md b/doc/sprint-2/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..2f280214ec38a9fc7b078f1184b2da36bd3e7b43
--- /dev/null
+++ b/doc/sprint-2/README.md
@@ -0,0 +1,25 @@
+# Sprint 2
+
+### Ce que nous avons fait durant ce sprint
+- Résoudre des conflits dans git
+- Enregistrer et partager mon travail dans git
+
+### Ce que nous allons faire durant le prochain sprint
+- Connaître et appliquer les interfaces
+- Gérer l'affichage du menu principal
+- Créer techniques de défense
+- Plusieurs attaques
+- Créer différents niveaux
+- Mettre en place une condition de fin de jeu
+- Créer un compteur
+
+## Rétrospective
+- Meilleure communication 
+- Bonne répartition des tâches
+
+### Sur quoi avons nous butté ?
+* Nous aurions du nous rassembler plus tôt
+* Nous avons entamé trop d'US
+
+### PDCA
+* N/A, sprint 2
\ No newline at end of file
diff --git a/doc/sprint-2/radiateur-2.heic b/doc/sprint-2/radiateur-2.heic
new file mode 100644
index 0000000000000000000000000000000000000000..fa6a73a53e9d22bf2d99228388454a80c4771576
Binary files /dev/null and b/doc/sprint-2/radiateur-2.heic differ
diff --git a/src/main/java/bitFight/Action.java b/src/main/java/bitFight/Action.java
index 49434d8b99c7fb5cdcce5208c9b9f9de7e37ff4b..3dbfbace10f235714fec2bda4108bb0225dab94e 100644
--- a/src/main/java/bitFight/Action.java
+++ b/src/main/java/bitFight/Action.java
@@ -1,5 +1,5 @@
 package bitFight;
 
 public interface Action {
-    public Action getActionType();
+    public String getAction();
 }
diff --git a/src/main/java/bitFight/Attack.java b/src/main/java/bitFight/Attack.java
index 748b03cd0ef4fd84ac4f5f114aceb06ed942763a..3921dcbf69e176136d580b3310bc70dedd8ab479 100644
--- a/src/main/java/bitFight/Attack.java
+++ b/src/main/java/bitFight/Attack.java
@@ -1,21 +1,26 @@
 package bitFight;
 
 public enum Attack implements Action {
-    PUNCH(10);
+    PUNCH(10, "punch"),
+    KICK(20, "kick"),
+    SUPERMANPUNCH(50,"supermanpunch"),
+    DOUBLEKICK(60, "doublekick")
+    ;
     private int damage;
+    private String name;
     
-    Attack(int damage) {
+    Attack(int damage, String name) {
         this.damage = damage;
+        this.name = name;
     }
     public int getDamage() {
         return damage;
     }
-     
-    public Action getActionType() {
-        return this;
-    }
 
-    public String getActionTypeToString() {
+    public String getAction() {
         return "Attack";
     }
+    public String getName() {
+        return name;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/bitFight/Character.java b/src/main/java/bitFight/Character.java
index cc6a0970faacefdac353ede8558478b9839395de..22d4d03f5feae4e6ae8d795779d59bccfe365a4b 100644
--- a/src/main/java/bitFight/Character.java
+++ b/src/main/java/bitFight/Character.java
@@ -1,9 +1,10 @@
 package bitFight;
 
 public class Character {
-    protected double maxHealth = 100;
-    protected double currentHealth = 100;
-    protected double attackMultiplier = 1;
+    protected String name;
+    protected double maxHealth;
+    protected double currentHealth;
+    protected double attackMultiplier;
     protected int level;
 
     public Character(double maxHealth, double currentHealth, double attackMultiplier, int level) {
@@ -14,13 +15,17 @@ public class Character {
     }
     
     public Character(){
-        this.level = 1;
+        this(100,100,1,1);
     }
     public Character(int level) {
         this();
         this.level = level;
     }
 
+    public String getName() {
+        return name;
+    }
+
     public double getMaxHealth() {
         return maxHealth;
     }
@@ -45,5 +50,20 @@ public class Character {
     public void setLevel(int level) {
         this.level = level;
     }
+
+    public boolean isDead(){
+        return this.currentHealth <= 0;
+    }
+
+    public void levelUp() {
+        level++;
+        maxHealth = maxHealth * 1.2;
+        currentHealth = currentHealth * 1.2;
+        attackMultiplier = attackMultiplier * 1.2; 
+    }
+
+    public void damage(int damage){
+        this.currentHealth -= damage;
+    }
     
 } 
diff --git a/src/main/java/bitFight/Defense.java b/src/main/java/bitFight/Defense.java
index b6571186c5a7842479c4c0b32cdcf64feb56fb74..2bcd673ec56d02cd6d72979ba6790dd1848a19a4 100644
--- a/src/main/java/bitFight/Defense.java
+++ b/src/main/java/bitFight/Defense.java
@@ -1,11 +1,7 @@
 package bitFight;
 
 public class Defense implements Action {
-    public Action getActionType() {
-        return this;
-    }
-
-    public String getActionTypeToString() {
+    public String getAction() {
         return "Defense";
     }
 }
diff --git a/src/main/java/bitFight/Enemy.java b/src/main/java/bitFight/Enemy.java
index 2aceeec5f23fb79166344bf0c1d1a96e66e6cbb7..0572985ca85a4492d99c33a653f3954759d9a442 100644
--- a/src/main/java/bitFight/Enemy.java
+++ b/src/main/java/bitFight/Enemy.java
@@ -2,18 +2,15 @@ package bitFight;
 import java.util.Random;
 
 public class Enemy extends Character{
-    // private double maxHealth;
-    // private double currentHealth;
-    // private double attackMultiplier;
-    // private int level;
 
-    public Enemy(int level) {
+    public Enemy(String name, int level) {
         super(level);
-        super.maxHealth = super.maxHealth * Math.pow(1.2, (level-1));
-        super.maxHealth = statVariation(super.maxHealth);
-        super.attackMultiplier = super.attackMultiplier * Math.pow(1.2, level);
-        super.attackMultiplier = statVariation(super.attackMultiplier);
-        super.currentHealth = super.maxHealth;
+        super.name = name;
+        maxHealth = maxHealth * Math.pow(1.2, (level-1));
+        maxHealth = statVariation(maxHealth);
+        attackMultiplier = attackMultiplier * Math.pow(1.2, level);
+        attackMultiplier = statVariation(attackMultiplier);
+        currentHealth = maxHealth;
     }
 
     private double statVariation(double stat){
@@ -21,47 +18,8 @@ public class Enemy extends Character{
         return stat + (r.nextDouble() * (stat * 0.2) - (stat * 0.1));
     }
 
-    public double getMaxHealth() {
-        return maxHealth;
-    }
-
-    public void setMaxHealth(double maxHealth) {
-        this.maxHealth = maxHealth;
-    }
-
-    public double getCurrentHealth() {
-        return currentHealth;
-    }
-
-    public void setCurrentHealth(double currentHealth) {
-        this.currentHealth = currentHealth;
-    }
-
-    public double getAttackMultiplier() {
-        return attackMultiplier;
-    }
-
-    public void setAttackMultiplier(double attackMultiplier) {
-        this.attackMultiplier = attackMultiplier;
-    }
-
-    public int getLevel() {
-        return level;
-    }
-
-    public void setLevel(int level) {
-        this.level = level;
-    }
-
-    public void damage(int damage){
-        this.currentHealth -= damage;
-    }
-
-    public boolean isDead(){
-        return this.currentHealth <= 0;
-    }
-
+ 
     public String toString() {
-        return "Ennemy : level " + this.level + " - Current life level : " + this.currentHealth;
+        return name + " : level " + this.level + " - Current life level : " + this.currentHealth;
     }
 }
diff --git a/src/main/java/bitFight/GameDisplay.java b/src/main/java/bitFight/GameDisplay.java
index 9d4888fae9196133080a0f33a2ead3efaea5badd..84d1b2f67b5c9b10b17813c5d122ef0d70c94a4e 100644
--- a/src/main/java/bitFight/GameDisplay.java
+++ b/src/main/java/bitFight/GameDisplay.java
@@ -6,7 +6,7 @@ import java.io.InputStreamReader;
 import java.util.Scanner;
 
 
-public class GameDisplay implements Display{
+public class GameDisplay {
 
     String texte;
 
@@ -14,7 +14,6 @@ public class GameDisplay implements Display{
         this.texte=texte;
     }
 
-    @Override
     public void display() {
         System.out.println(this.texte);
     }
diff --git a/src/main/java/bitFight/Level.java b/src/main/java/bitFight/Level.java
index 7d340bc07c272d0f6c041c36f7fa6f7dcb982b92..58308cc5f6c81c47ad6dfbb694ecf027a3861012 100644
--- a/src/main/java/bitFight/Level.java
+++ b/src/main/java/bitFight/Level.java
@@ -1,5 +1,7 @@
 package bitFight;
 
+import java.util.Scanner;
+
 public class Level{
 
     int nbLevel;
@@ -26,5 +28,42 @@ public class Level{
         this.difficulty = difficulty;
     }
 
+    public void display() {
+        System.out.println("Level " + this.nbLevel);
+        System.out.println("Difficulty = " + this.difficulty);
+    }
+
+    public boolean check() {
+        Scanner sc = new Scanner(System.in);
+        String c = sc.nextLine();
+        if (c == null) {
+            sc.close();
+            return false;
+        }
+        sc.close();
+        return true;
+    }
+
+    public void ennemyShowing(Enemy ennemy) {
+        System.out.println("An ennemy just appeared : " + ennemy.toString());
+    }
+
+    public void ennemyDying() {
+        System.out.println("The ennemy is dead!");
+    }
+
+    public void playerDying() {
+        
+    }
+
+    public void fighting(Player p, Enemy ennemy) {
+        System.out.println(p.getName() + "'s life : " + p.getCurrentHealth());
+        this.ennemyShowing(ennemy);
+        System.out.println("Press any key to attack and press enter");
+        if (this.check()) {
+            this.ennemyDying();
+        }
+    }
+
 }
 
diff --git a/src/main/java/bitFight/LevelDisplay.java b/src/main/java/bitFight/LevelDisplay.java
deleted file mode 100644
index 37e6b01b834bc1dd213ec5f9b1b08c12922d6801..0000000000000000000000000000000000000000
--- a/src/main/java/bitFight/LevelDisplay.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package bitFight;
-
-
-import java.util.Scanner;
-
-public class LevelDisplay implements Display {
-    private int levelNb = 1;
-    private String levelText = "New level : prepare to fight!";
-
-    public int getLevelNb() {
-        return levelNb;
-    }
-
-    public void display() {
-        System.out.println("Niveau " + this.levelNb);
-        System.out.println(this.levelText);
-    }
-
-    public boolean validate() {
-        Scanner sc = new Scanner(System.in);
-        String c = sc.nextLine();
-        if (c == null) {
-            sc.close();
-            return false;
-        }
-        sc.close();
-        return true;
-    }
-
-    public void ennemyShowing(Enemy ennemy) {
-        System.out.println("An ennemy just appeared : " + ennemy.toString());
-    }
-
-    public void ennemyDying() {
-        System.out.println("The ennemy is dead!");
-    }
-
-    public void fighting(Player p, Enemy ennemy) {
-        System.out.println(p.getName() + "'s life : " + p.getCurrentHealth());
-        this.ennemyShowing(ennemy);
-        System.out.println("Press any key to attack and press enter");
-        this.validate();
-        if (this.validate()) {
-            this.ennemyDying();
-        }
-    }
-}
diff --git a/src/main/java/bitFight/Main.java b/src/main/java/bitFight/Main.java
index 5ef2944b8db89fec795e18bdfd2ad76e13cbedbe..58da8a643f3430b890bb724cf0dda3a64c589908 100644
--- a/src/main/java/bitFight/Main.java
+++ b/src/main/java/bitFight/Main.java
@@ -4,34 +4,32 @@ package bitFight;
 import java.io.IOException;
 import java.time.Duration;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.Random;
 import java.util.Scanner;
 
 class Main {
-    public static void main(String[] args) throws IOException{
-
-        Menu menu= new Menu(" "," ");
-        menu.display();
-        menu.validate();
-        
-       
-
-       Scanner in = new Scanner(System.in);
+    public static void main(String[] args) {
+        Scanner in = new Scanner(System.in);
         
         Random rand = new Random();
-        LocalDateTime timeBeforeAttack = LocalDateTime.now();
-        int attackTime = 8 - (int)(5 * rand.nextDouble()); //A garder au début de la boucle
 
         Input input = new Input();
         input.setInput(in.nextLine());
 
-        Enemy JoueurEnnemi = new Enemy(2); 
+        Enemy enemy = new Enemy("BAD PAUL", 2); 
 
-        System.out.println(JoueurEnnemi.getCurrentHealth());
+        Player player = new Player("play");
 
-        while (!input.getInput().equals("q") && !JoueurEnnemi.isDead()) {
+        System.out.println(enemy.getCurrentHealth());
+
+        while (!input.getInput().equals("q") && !enemy.isDead() && !player.isDead()) {
             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());
@@ -39,14 +37,31 @@ class Main {
             System.out.println("input valide");
 
             if (input.getInput().equals("a")) {
-                JoueurEnnemi.damage(Attack.PUNCH.getDamage());
-                System.out.println("Ennemi" + " health : " + JoueurEnnemi.getCurrentHealth());
+                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");
+                System.out.println("Attaque de l'ennemi (Trop lent!!!!!!!!!!!!!!!!!!!!!)");
+            } else if (input.getInput().equals("a")) {
+                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");
+                        input.setInput(in.nextLine());
+                    }
+                }
+                String attack = attacksNames.get(attacksNames.indexOf(input.getInput())).toUpperCase();
+                enemy.damage(Attack.valueOf(attack).getDamage());
+                
+                System.out.println(enemy.toString());
+                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/main/java/bitFight/Player.java b/src/main/java/bitFight/Player.java
index ad9554339faa1d28b69a7c368f00d6b9d490a1e2..22a2d9d55a0bc0110efd5cb7b6b6efa7c7fd704c 100644
--- a/src/main/java/bitFight/Player.java
+++ b/src/main/java/bitFight/Player.java
@@ -1,52 +1,13 @@
 package bitFight;
 
 public class Player extends Character{
-    private String name;
-    private double maxHealth;
-    private double currentHealth;
-    private double attackMultiplier;
-    private int level;
-
 
     Player (String name){
         super();
-        this.name = name;
-    }
-
-
-    public String getName() {
-        return name;
-    }
-
-
-    public double getMaxHealth() {
-        return maxHealth;
+        super.name = name;
     }
 
-
-    public double getCurrentHealth() {
-        return currentHealth;
+    public String toString() {
+        return name + " : level " + level + " - Current life level : " + currentHealth;
     }
-
-
-    public double getAttackMultiplier() {
-        return attackMultiplier;
-    }
-
-
-    public int getLevel() {
-        return level;
-    }
-
-    public void levelUp() {
-        level++;
-        maxHealth = maxHealth * 1.2;
-        currentHealth = currentHealth * 1.2;
-        attackMultiplier = attackMultiplier * 1.2; 
-    }
-
-    public void damage(int damage){
-        this.currentHealth -= damage;
-    }
-
 }
diff --git a/src/main/java/bitFight/UseGame.java b/src/main/java/bitFight/UseGame.java
index 81752bbc152834cadfc0ea65f53ca5940b51d5a2..22a1b153e4bcb7ac11f9db621a49182368762829 100644
--- a/src/main/java/bitFight/UseGame.java
+++ b/src/main/java/bitFight/UseGame.java
@@ -4,7 +4,7 @@ public class UseGame {
     public static void main(String[] args) {
         boolean gameIsGoing = true;
         Player player = new Player("newPlayer");
-        Enemy enemy = new Enemy(5);
+        Enemy enemy = new Enemy("tt",5);
 
         while (gameIsGoing) {
             GameDisplay game = new GameDisplay("BitFight");
diff --git a/src/test/java/attackTest.java b/src/test/java/attackTest.java
index 9e3b2ce51ed2727b1b8b125345ed57da5c64d255..96beb0d5651462964080507a640ac0511dfd9477 100644
--- a/src/test/java/attackTest.java
+++ b/src/test/java/attackTest.java
@@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test;
 public class attackTest {
     @Test
     void testGetDamage() {
-        assertEquals(attack.PUNCH.getDamage(),10); 
+        assertEquals(Attack.PUNCH.getDamage(),10); 
 
     }
 }