Partage
  • Partager sur Facebook
  • Partager sur Twitter

Méthode (méthode tournant en boucle)

Sujet résolu
    18 octobre 2016 à 15:40:07

    Bonjour,

    En gros, je souhaiterais "jouer" avec des commandes :

    Exemple de la sortie :

    italique = taper par l'utilisateur

     gras = par la sortie

    normal = mon soucis

    Bonjour, pour plus d'aide, taper help

    >help

    Et ici devrait sortir une liste (String) grâce a une méthode void helpCommande();

    Mon soucis, étant que, après avoir appeler une commande, mon application va se terminer (Build Successful), mais je ne souhaites pas cela.

    Je souhaites que mon application se termine QUE quand on tape exit.

    Toute les commandes (leur action, description, etc..) sont dans une classe à part.

    La classe exécutant le main(String[] args) est unique (par cela j'entend, que la variable public static void main(String[] args)

    Voici, le contenu de ma classe contenant le Main (+ les import) :

    public class Start {
        
        
    
        public static void main(String[] args) {
    
            Scanner clavier = new Scanner(System.in);
            Character Majir = new Character("Majir", 100, 5, 1, 10, "Épée de bois");
            Character Bouit = new Character("Bouit", 50, 5, 1, 1, "Doigt");
    
            System.out.println("Petit vent de marée, l'eau glisse légerement sur les rochers dépravées,\nla rose du matin glisse sur mes joues. La journée vient de débuter.");
    
            System.out.println("Bienvenue dans BrainBenchmarking ! un jeu textuel produit en java.");
            System.out.println("Nous allons vous présenter les différents action.");
            System.out.println("Ils existent différentes commandes disponibles. commencont avec la commande help");
            System.out.print(">");
            String choix = clavier.nextLine();
            commande.initalisation(choix);
            
            
    
    
    
        }
    }


    Et voici ma classe Commande :

    public class commande {
    
        private String help;
        private String voyage;
        private String inventaire;
        private String groupe;
        private String base;
        private String quetes;
    
        public static String helpCommande() {
            String message = "";
    
            message += "\t-- Liste de commandes --\n" + "\t-- Pour en savoir plus sur une commande, help commande --\n" + "\nVoyage" + "\nInventaire" + "\nGroupe" + "\nBase" + "\nQuetes" + "\n>";
    
            return message;
    
        }
    
        public static String voyage() {
    
            String message = "";
    
            message += "Permet de voyager grâce aux lieu enregistrer sur votre carte.\n";
            message += "\n>";
            return message;
        }
    
        public static String inventaire() {
    
            String message = "";
    
            message += "Permet d'ouvrir votre inventaire, d'intéragir avec vos objets.\n";
            message += "\n>";
            return message;
        }
    
        public static String groupe() {
    
            String message = "";
    
            message += "Permet de gérer votre groupe.\n";
            message += "\n>";
            return message;
        }
    
        public static String base() {
    
            String message = "";
    
            message += "gère votre Base\n";
            message += "\n>";
            return message;
        }
    
        public static String quetes() {
    
            String message = "";
    
            message += "Ouvrir votre livre de quetes.\n";
            message += "\n>";
            return message;
        }
    
        public void help(String choix2) {
    
            if (choix2.equalsIgnoreCase("voyage")) {
    
                System.out.println(commande.voyage());
    
            }
    
            if (choix2.equalsIgnoreCase("Base")) {
    
                System.out.println(commande.base());
    
            }
            if (choix2.equalsIgnoreCase("groupe")) {
    
                System.out.println(commande.groupe());
    
            }
            if (choix2.equalsIgnoreCase("inventaire")) {
    
                System.out.println(commande.inventaire());
    
            }
            if (choix2.equalsIgnoreCase("quetes")) {
    
                System.out.println(commande.quetes());
    
            }
        }
            
            public static void initalisation(String choix1){
            
            if(choix1.equalsIgnoreCase("Voyage")){
                commande.voyager();
            }
            if(choix1.equalsIgnoreCase("Inventaire")){
                commande.inventairer();
            }
            if(choix1.equalsIgnoreCase("Base")){
                commande.baser();
            }
            if(choix1.equalsIgnoreCase("Quetes")){
                commande.queter();
            }
            if(choix1.equalsIgnoreCase("help")){
                System.out.println(commande.helpCommande());
                
            }
            
        }
            
            
            private static void voyager(){
                
            }
            private static void inventairer(){
                
            }
            private static void baser(){
                
            }
            private static void queter(){
                
            }
            
            
            
        }

    Sa me démange un peu car cela n'as pas l'air d'être un gros problème :o

    Quelqu'un de vous pourrais m'aider ? :D

    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2016 à 17:13:49

      Hello, à aucun moment tu boucles pour remonter dans le programme, c'est donc normal qu'une fois la commande utilisée, tu finisses ton programme.

      //pseudo code
      
      while(keepGoing){
      
         String input = //input utilisateur
         command.analyser(input); //ici tu fais ton traitement avec la commande
      
      // si la commande est exit, tu passes keepGoing a false;=
      }

      ps: Depuis Java7 il est possible de switch/case sur les strings. 

      • Partager sur Facebook
      • Partager sur Twitter

      Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !

        21 octobre 2016 à 8:00:29

        Merci arno21 !

        je savais que ce n'était pas compliquée :D

        J'y avais pas pensée, Merci !

        -
        Edité par The Preacher 21 octobre 2016 à 8:03:16

        • Partager sur Facebook
        • Partager sur Twitter

        Méthode (méthode tournant en boucle)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown