Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'une progress bar en C

Je suis en train de creer un tamagotshi en c mais j'ai un probleme ...

    8 avril 2021 à 22:00:26

    En gros je suis en train de développer un petit projet en C pour une série youtube que je suis en train de réalisé bref...

    Dans mon projet j'ai creer une fonction qui dessine le hud

    void drawHUD(char FN[10], char SN[10])
    {
        printf("                                                              |                                                        \n");
        printf("                                                              |                                                        \n");
        printf("                                                              |                    PRENOM : %s     \n", FN);
        printf("                                                              |                    NOM    : %s     \n", SN);
        printf("                                                              |                                                        \n");
        printf("                                                              |                                                        \n");
        printf("                                                              |--------------------------------------------------------\n");
        printf("                                                              |                    ACTIONS : \n");
        printf("                                                              |                      1. Nourir\n");
        printf("                                                              |                      2. Netoyer\n");
        printf("                                                              |                      3. Soigner\n");
        printf("                                                              |                      4. Jouer\n");
        printf("                                                              |                      5. Dormir\n");
        printf("                                                              |                                                        \n");
        printf("                                                              |--------------------------------------------------------\n");
        printf("                          .**.                                |                                                        \n");
        printf("                         /    \\                               |    Nouriture :\n");
        printf("                        |      |                              |    |______________________________________________|    \n");
        printf("                        |      |                              |                                                        \n");
        printf("                         *....*                               |    Joie :\n");
        printf("                                                              |    |______________________________________________|    \n");
        printf("______________________________________________________________|                                                        \n");
        printf("                                                              |    Santee :\n");
        printf("                                                              |    |______________________________________________|    \n");
        printf("                                                              |                                                        \n");
        printf("                                                              |    Experiance \n");
        printf("                                                              |     _______________________________________________    \n");
        printf("                                                              |    /______________________________________________/    \n");
        printf("                                                              |                                                        \n");
        printf("                                                              |                                                        \n");
    }

    Et j'aimerais bien que mes bar avec une fonction par exemple addXP(nom de la bar, xp a ajouter) la bar se modifie mais je suis bloquez

    Si vous pouvez m'aider

    Merci D'avance... ^^

    PS:

    Voici si join le prototype de la fonction que j'aimerais créer

    void addXP(char nomDeLaBar[100], int nombreXP);


    -
    Edité par MoreGameStudio 8 avril 2021 à 22:03:29

    • Partager sur Facebook
    • Partager sur Twitter
      8 avril 2021 à 22:29:27

      Bonjour,

      alors je pense qu'un petit cours de C avec un cours de modélisation et d'algo est nécessaire …

      On ne mélange jamais ce qu'on veut afficher (la vue)  avec ce que ça représente (le modèle), JAMAIS.

      Si tu essayes de faire quelque chose de conséquent avec cette approche, c'est voué à l'échec.

      • Partager sur Facebook
      • Partager sur Twitter
        8 avril 2021 à 22:36:38

        Bonjour a toi !


        Je n'essaye pas de faire le truc le plus optimiser non plus mais j'aimerais juste que tu m'esplique es-ceque tu sais comment modifier un text deja ecrit en console

        Et c'est un petit projet pour déconer donc je me fous un peux de l'opti :)


        merci pour ta réponce ^^

        -
        Edité par MoreGameStudio 8 avril 2021 à 22:49:02

        • Partager sur Facebook
        • Partager sur Twitter
          8 avril 2021 à 23:19:13

          bah justement … console ou gui peu importe … c'est même pas une question d'optimisation en fait.

          Comme ça, entre nous, on ne peut pas modifier un texte écrit dans une console, il faut l'écraser. Tu veux le faire à la main ? vas-y, pas de soucis, il y a des caractères d'échappement qui servent à ça. Après faut juste adapter suivant que tu es en console windows/linux ou autre …

          Après si c'est compliqué pour toi (et ce le serait pour bon nombre de personnes, y compris qualifiées) alors tu peux utiliser une bibliothèque comme PDCurses ou NCurses … mais ça ne t'avancera pas à grand chose car tu n'auras pas séparé le modèle de la vue … Tu n'es pas près pour ça !

          • Partager sur Facebook
          • Partager sur Twitter
            8 avril 2021 à 23:39:20

            OK je vais me renseigner la dessu et sinon je prendrais un projet moins complex pour mon niveau (J'ai commancer le c il y a seulement une semaine :o)

            En tout cas merci de ton aide :)

            • Partager sur Facebook
            • Partager sur Twitter
              9 avril 2021 à 2:43:28

              Tu as commencé le C il y a une semaine? Et l'intelligence artificielle, ça t'intéresse?
              On peut en principe réafficher du texte en console en mettant le caractère qui s'appelle «carriage return»
              (bien que les chariots n'existent plus depuis longtemps sur les consoles)
              Il se représente par '\r'
              printf("Première ligne");
              printf("\rDeuxième ligne");
              Si la deuxième ligne est plus courte, il faudra afficher des espaces pour effacer la fin.
              • Partager sur Facebook
              • Partager sur Twitter

              Le Tout est souvent plus grand que la somme de ses parties.

                9 avril 2021 à 11:08:22

                PierrotLeFou a écrit:

                Tu as commencé le C il y a une semaine? Et l'intelligence artificielle, ça t'intéresse?
                On peut en principe réafficher du texte en console en mettant le caractère qui s'appelle «carriage return»
                (bien que les chariots n'existent plus depuis longtemps sur les consoles)
                Il se représente par '\r'
                printf("Première ligne");
                printf("\rDeuxième ligne");
                Si la deuxième ligne est plus courte, il faudra afficher des espaces pour effacer la fin.


                Ok mais si c'est sensé avoir disparu depuis longtemps des consoles alors comment je peux Faire :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                  9 avril 2021 à 11:15:33

                  Salut,

                  Si tu veux faire des beaux trucs sous la console (ce qui n'est pas forcément conseillé, le mode graphique est mieux, mais peut etre pas tout de suite)

                  Bref, si tu es sous Windows, je te propose deux fonctions :

                  - une qui pose le curseur à la coordonnée que tu veux

                  - des couleurs

                  http://fvirtman.free.fr/recueil/04_02_01_color.c.php

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                    9 avril 2021 à 11:26:28

                    Merci beaucoup :ange: sa va peut etre pouvoir me débloquer


                    Esce-que si je mettais mes bar dans un fichier text et que j'alais les chercher au fur et a mesure sa marcherais mieux que de trouver un moyen de Changer du text dans la console


                    ...

                    -
                    Edité par MoreGameStudio 9 avril 2021 à 11:36:11

                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 avril 2021 à 12:30:19

                      Un exemple quick-and-dirty qui pourra peut-être t'inspirer ...

                      #include <stdio.h>
                      
                      void barre_de_progression(int pourcentage)
                      {
                        for(int i = 0; i < 50 * pourcentage / 100; i++)
                          putchar(219);
                      
                        for(int i = 0; i < 50 - 50 * pourcentage / 100; i++)
                          putchar(177);
                      
                        printf(" %3d%%", pourcentage);
                        putchar('\n');
                      }
                      
                      
                      int main(void)
                      {
                        int vie = 80;
                        printf("Vie        ");
                        barre_de_progression(vie);
                        putchar('\n');
                      
                        int munitions = 50;
                        printf("Munitions  ");
                        barre_de_progression(munitions);
                        putchar('\n');
                      
                        int experience = 20;
                        printf("Experience ");
                        barre_de_progression(experience);
                      }




                      -
                      Edité par magma 9 avril 2021 à 13:43:41

                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 avril 2021 à 12:48:31

                        Les gars … MoreGameStudio vient de finir sa première semaine d'apprentissage du C …

                        Faut pas l'embrouiller …

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 avril 2021 à 13:01:41

                          Ce code est parfait pil poil ce qu'il me falais

                          Merci :D

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Création d'une progress bar en C

                          × 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