Skip to content
Snippets Groups Projects
Commit b4b2e016 authored by Camille Okubo's avatar Camille Okubo
Browse files
parents 0de1a55a 466f1561
Branches
No related tags found
No related merge requests found
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
package bitFight;
import java.util.Scanner;
public class Level{
int nbLevel=1;
......@@ -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();
}
}
}
package bitFight;
import java.util.Scanner;
public class LevelDisplay {
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();
}
}
}
......@@ -3,11 +3,19 @@ package bitFight;
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) {
// 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();
......@@ -20,7 +28,6 @@ class Main {
System.out.println(JoueurEnnemi.getCurrentHealth());
while (!input.getInput().equals("q") && !JoueurEnnemi.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
......@@ -29,11 +36,21 @@ class Main {
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");
input.setInput(in.nextLine());
}
}
String attack = attacksNames.get(attacksNames.indexOf(input.getInput())).toUpperCase();
JoueurEnnemi.damage(Attack.valueOf(attack).getDamage());
System.out.println(JoueurEnnemi.toString());
input.setInput(in.nextLine());
}
......
......@@ -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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment