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 { }