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/src/main/java/bitFight/Attack.java b/src/main/java/bitFight/Attack.java index 748b03cd0ef4fd84ac4f5f114aceb06ed942763a..589b73a634ca6e3bd531af2725be018af545b00b 100644 --- a/src/main/java/bitFight/Attack.java +++ b/src/main/java/bitFight/Attack.java @@ -1,11 +1,13 @@ package bitFight; public enum Attack implements Action { - PUNCH(10); + PUNCH(10, "punch"); 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; @@ -18,4 +20,7 @@ public enum Attack implements Action { public String getActionTypeToString() { return "Attack"; } + public String getName() { + return name; + } } \ No newline at end of file diff --git a/src/main/java/bitFight/Main.java b/src/main/java/bitFight/Main.java index e7c6d22e0c338a755b182d77d8876f2e310dccf0..e23df35b488007fb9c366559097e5d82c1c90d68 100644 --- a/src/main/java/bitFight/Main.java +++ b/src/main/java/bitFight/Main.java @@ -1,15 +1,22 @@ package bitFight; -import java.sql.Date; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Random; import java.util.Scanner; class Main { public static void main(String[] args) { + + // Récupère le nom de cahque attaque dans une ArrayList + ArrayList<String> attacksNames = new ArrayList<>(); + for (Attack a : Attack.values()) { + attacksNames.add(a.getName()); + } + Scanner in = new Scanner(System.in); Random rand = new Random(); @@ -24,17 +31,26 @@ class Main { System.out.println(JoueurEnnemi.getCurrentHealth()); while (!input.getInput().equals("q") && !JoueurEnnemi.isDead()) { - System.out.println("départ"); + // 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"); + // Évènement après choisi d'attaquer if (input.getInput().equals("a")) { - JoueurEnnemi.damage(Attack.PUNCH.getDamage()); - System.out.println("Ennemi" + " health : " + JoueurEnnemi.getCurrentHealth()); + 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"); + } + } + String attack = attacksNames.get(attacksNames.indexOf(input.getInput())); + JoueurEnnemi.damage(Attack.valueOf(attack).getDamage()); + + System.out.println(JoueurEnnemi.toString()); input.setInput(in.nextLine()); } 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); } }