Partage
  • Partager sur Facebook
  • Partager sur Twitter

Effacer une parti du texte de la Console

    8 juin 2020 à 16:48:03

    Salut tout le monde, récemment je suis en train de faire un Jeu dont vous êtes le héros.

    Le texte s'affiche dans la Console et à certain moment vous pouvez choisir un choix. Je viens de le commencer il y a pas longtemps donc je suis qu'au début.:lol:

    Voilà mon problème, je voudrais savoir la commande qui permet de supprimer du texte  qui est déjà afficher  dans la Console.

    Le seul choix que j'ai pu penser à faire c'était d'assigner à chaque fois le texte dans une variable mais ça serait long à force...:'(

    Je prends alors tout vos conseils pour m'aider:D (notez que je suis plutôt novice donc si vous pourriez m'expliquer le code quand vous me l'envoyer).

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2020 à 17:19:50

      Salut,

      D'après ce que je comprends tu fais saisir quelque chose à l'utilisateur, et tu aimerais ne pas garder sa saisie dans la console.

      Tout ce que je vois c'est la méthode Clear() de Console.

      Cela va te permettre de vider totalement la console, et de faire quelque chose de ce style :

      static void Main(string[] args)
          {
            Console.WriteLine("Saisir quelque chose : ...");
            string quelqueChose = Console.ReadLine();
            Console.Clear();
            Console.WriteLine("Vous avez saisi : {0}", quelqueChose);
            Console.Read();
      
          }

      Comme tu es novice, je vais detailler :

      1ere ligne : On affiche une ligne dans la console contenant "Saisir quelque chose : ..."

      2ème ligne : On récupère la prochaine ligne saisie par l'utilisateur dans la variable "quelqueChose"

      3ème ligne : On vide tout le contenu de la console

      4eme ligne : On affiche un message "Vous avez saisi : " suivi de la saisie de l'utilisateur

      5ème ligne : On attends un touche de l'utilisateur ( c'est une "astuce" permettant de ne pas fermer le programme (et donc la console) directement après avoir exécuté ton code).

      Moralité de l'histoire : Si tu veux effacer quelque chose, tu vas devoir tout effacer, et réécrire ce que tu veux que l'utilisateur voit

      • Partager sur Facebook
      • Partager sur Twitter
        8 juin 2020 à 20:57:42

        earp91 a écrit:

        Salut,

        D'après ce que je comprends tu fais saisir quelque chose à l'utilisateur, et tu aimerais ne pas garder sa saisie dans la console.

        Tout ce que je vois c'est la méthode Clear() de Console.

        Cela va te permettre de vider totalement la console, et de faire quelque chose de ce style :

        static void Main(string[] args)
            {
              Console.WriteLine("Saisir quelque chose : ...");
              string quelqueChose = Console.ReadLine();
              Console.Clear();
              Console.WriteLine("Vous avez saisi : {0}", quelqueChose);
              Console.Read();
        
            }

        Comme tu es novice, je vais detailler :

        1ere ligne : On affiche une ligne dans la console contenant "Saisir quelque chose : ..."

        2ème ligne : On récupère la prochaine ligne saisie par l'utilisateur dans la variable "quelqueChose"

        3ème ligne : On vide tout le contenu de la console

        4eme ligne : On affiche un message "Vous avez saisi : " suivi de la saisie de l'utilisateur

        5ème ligne : On attends un touche de l'utilisateur ( c'est une "astuce" permettant de ne pas fermer le programme (et donc la console) directement après avoir exécuté ton code).

        Moralité de l'histoire : Si tu veux effacer quelque chose, tu vas devoir tout effacer, et réécrire ce que tu veux que l'utilisateur voit


        Ouais il y a que ça à faire, mais aussi c'était pour reprendre ce que j'avais écrit avant, je te montre un exemple...

        string texte = "Bonjour"; TxtQuiSaffiche();
        texte = "Comment veut-tu t'appeler ?"; TxtQuiSaffiche();
        string username = Console.ReadLine();
        texte = $"Est-ce que tu t'appelles bien {username} ?"; TxtQuiSaffiche();
        TxtQuiSaffiche()
        {
           Console.Writeline(texte);
        }

        La je t'ai montrais une parti infime de mon projet, si tu veux je peux tout te montrer mais cela risque d'être beaucoup à lire je pense...

        Mais oui je peux faire seulement Console.Clear(); c'est un peu dommage mais bon...

        En tout cas merci !;)

        Sinon je te montre tout mon code si tu veux le lire...

        bool yesno;
                    string readuser;
                    //Intro :
                    string texte = "Bonjour";
                    TxtQuiSaffiche();
                    texte = "Comment veut-tu t'appeler ?";
                    TxtQuiSaffiche();
                    string username = Console.ReadLine();
                    texte = $"Est-ce que tu t'appelles bien {username} ?";
                    TxtQuiSaffiche();
                    Ouinon();
                    if (yesno == false)
                    {
                        for (int i = 0; yesno == false; i++)
                        {
                            texte = "Comment tu t'appelles alors ?"; TxtQuiSaffiche();
                            username = Console.ReadLine();
                            texte = $"Est-ce que tu t'appelles bien {username} ?";
                            TxtQuiSaffiche(); Ouinon();
                        }
                    }
                    
        
                    //Début du Chapitre 1 :
                    texte = "A present, nous pouvons commencer l'aventure ^^"; TxtQuiSaffiche();
                    Thread.Sleep(150);
                    texte = $"Entrée dans le monde... {username}, valeureux guerrier"; TxtQuiSaffiche();
                    Thread.Sleep(100);
                    texte = "@$$£%µ@#$%°"; TxtQuiSaffiche();
                    Thread.Sleep(50);
                    texte = $"Bardock : {username}, tu m'entends ?"; TxtQuiSaffiche();
                    Ouinon();
                    texte = yesno == true
                        ? "Bardock : Ah, j'ai cru que tu étais assomée. Bon dépêche toi, ils arrivent"
                        : "Bardock : Non quoi ? Bon dépêche toi, ils arrivent";
                    TxtQuiSaffiche();
                    texte = $"{username} : Qui qui arrive ?"; TxtQuiSaffiche();
                    texte = "Bardock : Les Trulls"; TxtQuiSaffiche();
                    texte = $"{username} : Attends j'me lève"; TxtQuiSaffiche();
                    texte = "Le temps pluvieux me permet à peine de savoir ou je me trouve. Après être complétement conscient," +
                        "je me dirige vers Bardock, épée de fer à la main, s'apprétant à donner le signal. Les Trulls," +
                        "c'est eux nos ennemis inconnus et redoutable ? Enfin bref, la bataille se trouve devant moi et je dois juste y aller.";
                    TxtQuiSaffiche();
                    texte = "Bardock : A l'attaque !"; TxtQuiSaffiche();
                    texte = "Je m'apprête à y aller, juste 200 mètres, tout ce que j'ai fait pour me retrouver avec un gnome."; TxtQuiSaffiche();
                    texte = "Gnome inconnu : Alors, tu crois pouvoir me vaincre comme ça ?"; TxtQuiSaffiche();
                    texte = $"{username} : Comment tu le sais ?"; TxtQuiSaffiche();
                    texte = "COMBAT"; TxtQuiSaffiche();
                    Console.WriteLine();
        
        
        
        
        
        
                    Boolean Ouinon()
                    {
                        readuser = Console.ReadLine();
                        for (int i = 0; readuser != "oui" && readuser != "non"; i++)
                        {
                            Console.WriteLine($"Vous avez saisi un mot différent de oui ou de non : {readuser}");
                            readuser = Console.ReadLine();
                        }
                        yesno = Equals(readuser, "oui") ? true : false;
                        return yesno;
                    }
                    //Savoir si l'utlisiteur dit oui ou non.
        
        
                    String TxtQuiSaffiche()
                    {
                        for (int i = 0; i < texte.Length; i++)
                        {
                            
                            Console.Write(texte[i]);
                            Thread.Sleep(30);
                        }
                        Console.WriteLine();
                        return null;
                    }
                    //Permet d'afficher le texte à l'écran.
                    
        
        
                    Console.ReadKey();

        TxtQuiSaffiche() permet d'afficher le texte lettre par lettre, que je trouve plus agréable à mes yeux.

        OuiNon() permet à l'utilisateur de choisir entre oui et non...

        -
        Edité par Nistroy9 8 juin 2020 à 21:05:11

        • Partager sur Facebook
        • Partager sur Twitter

        Effacer une parti du texte de la Console

        × 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