Skip to content
Snippets Groups Projects
Select Git revision
  • 466f1561b6b8abdef183c3f4c251c23a08aec0f9
  • main default protected
  • 39-retour-utilisateur-sur-le-compteur
3 results

Main.java

Blame
  • Main.java 2.34 KiB
    package bitFight;
    
    
    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();
            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); 
    
            System.out.println(JoueurEnnemi.getCurrentHealth());
    
            while (!input.getInput().equals("q") && !JoueurEnnemi.isDead()) {
    
                // Affiche un message lors d'un input non répertorié
                if(!input.validInput()){
                    System.out.println("Error input invalid");
                    input.setInput(in.nextLine());
                }
    
                // Évènement après choisi d'attaquer
                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();
                    JoueurEnnemi.damage(Attack.valueOf(attack).getDamage());
                    
                    System.out.println(JoueurEnnemi.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");
                }
            }
    
            // C'est mon commentaire
            
            in.close();
        }
        
    }