Partage
  • Partager sur Facebook
  • Partager sur Twitter

boucles

    11 décembre 2005 à 21:16:10

    Bonjour ,
    Bon j'ai un eptit problème sur le mini mini jeu que j'ai fait pour le plaisir...en fait comme beuaucoup je débute avec les cours de Matéo...
    je suis dc très débutant pour l'instant ...
    J'ai fait un code qui marche mmais qui m'affiche quand on l'éxécute obligatoirement les 2 conditions si variable < 3 pourquoi ?? comment remèdier à ce problème!!
    Alors s'il vous plait ne m'en voulez pas trop car j'ai codé comme un barbare mais un vrai des vrais ... avec les moyens du bord ! y'a surement aussi des morceaux inutiles enfin donnez mmoi des conseils!! j'espère que ce n'est tt de même pas totalement nul!


    int main(int argc, char *argv[])

    {
        long total_pts=0, vie=0,force=0, intelligence=0, geste=0, variable=0 ,combat=0;
      printf("Bonjour\n bienvenue devant la porte du monde des Granitoides!!\n \nPour rentrer dans cet univers fantasmogarique vous devez repartir vos points\nIl faut savoir que l'on doit placer seulement 20 pts dans tous les domaines!\n Il y a 4 domaines differents. \nCombien voulez vous avoir de vie ?\n");
      scanf ("%ld",&vie);
      printf("\nCombien voulez vous de force?\n");
      scanf ("%ld",&force);
      printf("\n Combien desirez vous de points d'intelligence? \n");
      scanf ("%ld", &intelligence);
      printf ("Quel sont vos points d agilete et de maniabilite?  \n");
      scanf ("%ld", &geste);
     
      total_pts= vie + force + intelligence + geste;
       if (total_pts > 20 )
                 {
                     printf (" pour continuer vous devez placer 20 points de vies correctement ! \n Pas plus ni moins!\n");   
                     }
      else if(total_pts == 20)
      {
                   long fin = 0;
                   
                   
                    printf ("Vous entrez dans un monde nouveau! \n\n\n");
                    sleep (2000);
                  system("CLS"); // efface l'écran

    do
    {
          srand((int)time(NULL));
                    variable = rand()%(4) +1;
                   
                   
                    if (variable == 4)
                       {
                    printf("\ntu gagnes 2 points de vie !\n");
                    vie = vie + 2;
                    printf (" Vous avez %ld vies\n\n",vie);
                     sleep (5000);
                   
                       }
                    if (variable == 3 )
                       {
                    printf("\nTu perds 3 points de vies.\n");
                    vie = vie - 3;
                    printf (" Vous avez %ld vies\n\n",vie);
                    sleep (5000);
                    if ( vie <= 0 )
                             {
                            printf("*************Perdu!**************");
                               fin= 1;
                                break;
                              }
                     
                       
                       }
                 
                    if (variable < 3)

                      {
                                 
                                 srand((int)time(NULL));
                        combat = rand()%(9)+3
                        if (combat<= force )
                               {
                                    printf("\nUn monstre vous attaque dote de %ld points de force!\n Vous avez tue le monstre grace a votre force!\n",combat);
                                    force ++;
                                    printf("Vous gagner 1 pts de force : force= %ld \n",force);
                                      sleep (4000);
                                         
                               }
                               
                     else if (combat> force);
                         {
                            long blessure=0;
                      printf("\nUn monstre vous attaque dote de %ld points de force!\nLe monstre vous a battu !!\n Il vous enleve la moitie de vos points de vies!\n",combat);
                      blessure= combat - force;
                      vie= vie - 5;
                      printf("Vous avez %ld points de vies\n",vie);
                           sleep (4000);
                            if ( vie <= 0 )
                               {
                     printf("\n\n*************Tue a coup de hache**********\n");
                     
      break;
                               }
                         }
                      }
               }
                         
               while (fin=1);
                         
    }
                                 
      system("PAUSE");     
      return 0;
    }


    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2005 à 23:14:41

      euh... ton programme marche :) il ne fait pas tt le temps < 3
      • Partager sur Facebook
      • Partager sur Twitter
        13 décembre 2005 à 21:39:38

        oui je suis d'accord avec toi Néodyme mais ...
        je n'ai pas été peut être assez clair!
        en fait c'est que si tu testes encore.. et que tu tombes sur variable < 3 et que tu gagnes le combat (ta force est plus importante que celle du monstre) .. eh bien je peux te parier que le combat suivant sera le même monstre avec la même force mais qui pourtant gagne le combat!le joueur perd le combat! alors qu'il a une force plus importante que lui!! ??
        Voici l'erreur typique qui s'affiche :

        Citation

        Un monstre vous attaque dote de 10 points de force!
        Vous avez tue le monstre grace a votre force!
        Vous gagnez 1 pts de force : force= 11

        Un monstre vous attaque dote de 10 points de force!
        Le monstre vous a battu !!
        Il vous enleve la moitie de vos points de vies!
        Vous avez 5 points de vies"



        Pourquoi ??

        Il semble que si variable<3
        et que (combat<= force )
        alors l'ordi exécute les actions de combat<= force mais aussi après les actions de combat> force!

        Comment remédier à ca ...aider moi s'il vous plait!!!!!


        • Partager sur Facebook
        • Partager sur Twitter

        boucles

        × 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