Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un petit jeu

Livre dont vous êtes le héros : POWAA

Sujet résolu
    29 décembre 2005 à 13:03:34

    Bonjour, je suis entrain de coder un jeu (tout pourris ^^), mais j'aime bien :) .
    Je viens vous demander conseil pour les combats, comment les faires :D
    D'avance merci ^^
    Ah oui, le code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main ( int argc, char** argv )
    {
        // Toutes les variables !
         int number_player = 0;
         char exp = 200;
         int pv_folow = 0, pa_folow = 0;
         int pv_dark = 0, pa_dark = 0;
         int pv_jak = 0, pa_jak = 0;
         int pv_gi = 0, pa_gi = 0;
         
         int carte = 0, actions = 0, combats = 0;
         long combats_number = 0, combats_entrer = 0;
             const long MAX = 100, MIN = 1;
                     srand(time(NULL));
    combats_number = (rand() % (MAX - MIN + 1)) + MIN;
         
          printf("******************************\n");
        printf("Bonjour ! et bienvenue sur ce mini-jeu !\n");
        printf("******************************\n\n\n");
       
        int age_un = 0;
        printf("Tout d'abord, entre ton age : \t");
        scanf("%ld", &age_un);
        if(age_un <= 12)
        {
                  printf("Desole, c'est pas pour toi ! \n Appuye sur Entrer pour sortir ! ");
        }
        else
        {
            printf("Bienvenue, vous avez maintenant la possibilite de choisir un personnage parmis");
            printf("  la liste ci-dessous :\n\n");
           
            printf("1. Folow\n");
            printf("2. Dark\n");
            printf("3. Jak\n");
            printf("4. Gi\n\n");
           
            printf("Veuillez maintenant entrer le numero du Joueur : \t");
            scanf("%ld", &number_player);
           
            printf("Tres bien, vous avez choisi le numero %ld \n", number_player);
       
        if(number_player == 1)
        {
                         printf("Parfait, vous avez choisi Folow\n");
                         printf("Maintenant, veuillez entrer le nombre de PV");
                         printf("  que vous souhaitez avoir(nombre entrer 1 et 50 : \t");
                         scanf("%ld", &pv_folow);
                         
        if(pv_folow <= 20)
        {
              printf("Tres bien, vous avez %ld de Points de vie, ce qui fait que vous", pv_folow);
              printf("  pouvez avoir un nombre entre 10 et 50 de PA : \t");
              scanf("%ld", &pa_folow);
              printf("Parfait ! Vous avez %ld de Points D'actions !\n", pa_folow);
              }
        else if(pv_folow >= 21)
        {
             printf("Ok ! Vous avez %ld de Points de vie, ce qui vous autorise a choisir un nombre", pv_folow);
             printf("  entre 1 et 10 de Points D'actions : \t");
             scanf("%ld", &pa_folow);
             printf("Ok ! Folow aura donc %ld de Points D'actions !\n", pa_folow);
         }
    }    else if(number_player == 2)
         {
              printf("Parfait, vous avez pris Dark !\n");
              printf("Maintenant, veuillez entrer le nombre de PV");
              printf("  que vous souhaitez avoir(nombre entrer 10 et 100 : \t");
              scanf("%ld", &pv_dark);
        if(pv_dark <= 30)
        {
              printf("Tres bien, vous avez %ld de Points de vie, ce qui fait que vous", pv_dark);
              printf("  pouvez avoir un nombre entre 20 et 70 de PA : \t");
              scanf("%ld", &pa_dark);
              printf("Parfait ! Vous avez %ld de Points D'actions !\n", pa_dark);
              }
        else if(pv_dark >= 31)
        {
             printf("Ok ! Vous avez %ld de Points de vie, ce qui vous autorise a choisir un nombre", pv_dark);
             printf("  entre 10 et 50 de Points D'actions : \t");
             scanf("%ld", &pa_dark);
             printf("Ok ! Dark aura donc %ld de Points D'actions !\n", pa_dark);
         }
        }
       
        else if(number_player == 3)
        {
              printf("Ok ! T'as pris Jak ! \n");
              printf("Maintenant, veuillez entrer le nombre de PV");
              printf("  que vous souhaitez avoir(nombre entrer 10 et 100 : \t");
              scanf("%ld", &pv_jak);
                  if(pv_jak <= 30)
        {
              printf("Tres bien, vous avez %ld de Points de vie, ce qui fait que vous", pv_jak);
              printf("  pouvez avoir un nombre entre 20 et 70 de PA : \t");
              scanf("%ld", &pa_jak);
              printf("Parfait ! Vous avez %ld de Points D'actions !\n", pa_jak);
              }
        else if(pv_jak >= 31)
        {
             printf("Ok ! Vous avez %ld de Points de vie, ce qui vous autorise a choisir un nombre", pv_jak);
             printf("  entre 1et 50");
             scanf("%ld", &pa_jak);
             printf("Ok ! Dark aura donc %ld de Points D'actions !\n", pa_jak);
         }
        }
       
        else if(number_player == 4)
        {
             printf("Ok ! Tu as choisi Gi ! \n");
                       printf("Maintenant, veuillez entrer le nombre de PV");
              printf("  que vous souhaitez avoir(nombre entrer 10 et 100 : \t");
              scanf("%ld", &pv_gi);
                  if(pv_gi <= 30)
        {
              printf("Tres bien, vous avez %ld de Points de vie, ce qui fait que vous", pv_gi);
              printf("  pouvez avoir un nombre entre 20 et 70 de PA : \t");
              scanf("%ld", &pa_gi);
              printf("Parfait ! Vous avez %ld de Points D'actions !\n", pa_gi);
              }
        else if(pv_gi >= 31)
        {
             printf("Ok ! Vous avez %ld de Points de vie, ce qui vous autorise a choisir un nombre", pv_gi);
             printf("  entre 1 et 50 :\t");
             scanf("%ld", &pa_gi);
             printf("Ok ! Dark aura donc %ld de Points D'actions !\n", pa_gi);
         }
         }   
         
         printf("Maintenant que vous avez choisi votre personnage, vous pouvez commencer a jouer !\n");
         printf("Veuillez choisir une direction : \n");
         printf("1. Nord\n");
         printf("2. Sud\n");
         printf("(Entrer le numero)\n\n");
         scanf("%ld", &carte);
         
         if(carte == 1)
         {
                  printf("Votre personnage marche, soudain il glisse\n");
                  printf("Choisissez un nombre entre 1 et 2\n");
                  scanf("%ld", &actions);
                 
         
         if(actions == 1)
         {
                    printf("Et non...vous avez marche sur un piege...votre tete se fait");
                    printf("  broyee par un tronc d'arbre qui vient de tomber\n\n\n\n\n");
                    system("PAUSE");
                    }
         else if(actions == 2)
         {
              printf("Bravo, vous reussissez a vous relever et a eviter le piege qui tombe sur vous\n\n");
         
         
          }
                 
         }
         else if(carte == 2)
         {
              printf("Votre personnage marche, puis soudain ce met a courir\n");
              printf("Il se retourne et se prend une branche dans la tete\n");
              printf("Choississez un de ces deux nombre : 1 et 2. \n");
              scanf("%ld", &actions);
             
         if(actions == 1)
         {
                    printf("Grace a votre grande agilite, vous arrivez a l'eviter");
                    }
          else if(actions == 2)
          {
               printf("Un morceaux de la branche vous traverse l'oeil et vous perfore le cerveau.\n");
               printf("Vous etes mort !\n");
               system("PAUSE");
               }
               
          }
         
          printf("Vous continuez sur le meme chemin, et soudain, un brigand sort d'un bosquet\n");
          printf("Vous avez deux solutions : \n");
          printf("1. Se battre\n");
          printf("2. Fuir\n\n");
         
          scanf("%ld", &combats);
         
          if(combats == 1)
          {
          do
          {
          printf("Veuillez choisir un nombre entre 1 et 100\n");
          scanf("%ld", &combats_number);
         

            if (combats_number > combats_entrer)
                printf("Votre adversaire arrive a vous eviter ! C'est plus !\n\n");
            else if (combats_number < combats_entrer)
                printf("Votre adversaire vous touche ! C'est moins !\n\n");
            else
                printf ("Bravo, vous avez reussi a planter votre arme dans la tete de votre Adversaire !!!\n\n");
        } while (combats_entrer != 52);
         
         }
         
         
         
         
         
         
         
         
    }
         system("PAUSE");   
      return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2005 à 13:17:39

      Je te conseille de le faire à la Dungeon and Dragon avec des lancés de dés, utilise la fonction rand que tu peux trouver dans le TP de C/C++
      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2005 à 13:17:50

        fait attention aux accolades jai vu que tu en a oublié plusieurs...
        • Partager sur Facebook
        • Partager sur Twitter
          29 décembre 2005 à 13:20:26

          Garuma -> Ok :D , merci ^^ .

          Fock -> Ah bon ? Pourtant je n'ai pas de prob quand je Debbug...
          • Partager sur Facebook
          • Partager sur Twitter
            29 décembre 2005 à 13:28:37

            Fock regarde plus vers le bas du code tu verra qu'au bout d'un moment pour par exemple une de ses condition sa se referme... Car il met des condition dans ses conditions c'est peut etre ce qui ta trompé. :o
            • Partager sur Facebook
            • Partager sur Twitter
              29 décembre 2005 à 13:30:17

              Oué oué ;) c'est normal je range bizarement ^^
              • Partager sur Facebook
              • Partager sur Twitter
                29 décembre 2005 à 13:31:07

                oui mais c'est que je lu en vitesse lol
                • Partager sur Facebook
                • Partager sur Twitter
                  29 décembre 2005 à 13:32:51

                  En tout cas c'est déjà pas mal ce que tu as fait mais c'est là qu'il serait intéressant d'utiliser des classes parce que ya beaucoup de code que tu risque de réutiliser dans ton prog (je pense surtout au module de combat)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 décembre 2005 à 13:40:20

                    Garuma, jet t'ai ajouté à msn :)

                    xalfen_graphix[at]hotmail.com

                    ;)

                    Edit : Sinon pour le module de combat, j'aimerai bien le faire comme pour les livres dont vous êtes le héros (ceux que j'ai lu ^^ ), avec lancé de dés puis une table de hasard pour savoir l'importance du coup, mais bon, je rêve un peu trop là non ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 décembre 2005 à 15:55:35

                      :lol: ta table de hasard c'est un array
                      tes dès c'est un random

                      après il faut que tu te fasse en revanche un bestuaire avec des donnée tel que
                      initiative/force/vitalité/défense :)

                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 décembre 2005 à 16:18:52

                        ouep, c'est pas particulièrement compliqué, tu fais un srand pour savoir quel est le monstre a combattre. Le nombre alétoire renvoi une fonction correspondant à un onstre et la tu combats. Bon au départ cré 3 monstres tout au plus, c'est suffisant.
                        pour améliorez ton code, deux conseils :

                        - indente mieux que ca :) c'est valable pour tout ceux qui y font pas attention ca permet de relire bcp plus facilement. Pour ca, tu peux utiliser Notepad++ qui a pour particularité de colorer les parenthèses ou les acolades qui se correspondent.

                        - lis le cours des fonctions et utlisisent en au lieu de tout mettre d'un coup comme ca.

                        voili voilou :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          29 décembre 2005 à 16:44:54

                          Sinon, j'ai vu aussi des passages ou tu pourais diviser ton code par trois. Le moment ou tu choisi les optiosn des personages.
                          Plutot que de réécrire trois fois ce code, ecrit le une fois et dans le printf, met le nom du personage. Bon je galère avec les paramêtre du printf, alors je supose que tu devras modifier 1 ou deux truc.
                          if(number_player == 1)
                            char* nom = Folow;
                          else if(number_player == 2)
                          //...
                          else
                            exit(1);//Le personage choisi n'est aucun des trois
                          printf("Parfait, vous avez choisi %s\n",nom);
                          printf("Maintenant, veuillez entrer le nombre de PV");
                          printf("  que vous souhaitez avoir(nombre entrer 1 et 50 : \t");
                          scanf("%ld", &pv_folow);
                          if(pv_folow <= 20)
                          {
                              printf("Tres bien, vous avez %ld de Points de vie, ce qui fait que vous", pv_folow);
                              printf("  pouvez avoir un nombre entre 10 et 50 de PA : \t");


                          En suite, avent l'existance des classes et de la surcharge de paramêtre, on fesai comme sa :
                          class_init();
                          void class_fonction1();
                          void class_fonction2();
                          void class_fonction3();

                          Je te conseil donc, en atendent les tuto sur les fontions, de faire un fichier .cpp séparer ou tu met toute les fonctions de combat. Un autre ou tu met toutes les fonctions de jeux. Et enfin dans le main tu jongle avec ces fonctions.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            29 décembre 2005 à 16:58:27

                            Merci pour tous vos posts :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              29 décembre 2005 à 22:10:05

                              pour tes combat tu met le rand dans une variable et tu met le nombre entré dans lka même variable... Résultat: impossible de finir
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Un petit jeu

                              × 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