Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] La Roulette Russe en console

Probleme Boucle Do While

    26 janvier 2006 à 19:20:27

    Bonjour voila j'ai fait mon programme (c'est un brouillon encore les phrase son pas terminé ni l'aspect phisique), mais il se trouve que j'ai un probleme pour ma seconde boucle la do while elle tourne en boucle oui mais pas la bonne boucle enfin j'ai mi des annotation qui explique mon probleme...

    Fichier Roulette Russe.exe
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include "AI.h"

    int main(int argc, char *argv[])
    {
     system("title Roulette Russe");
     long Menu, ViePlayer=3, VieOrdi=3, Player, Ordi, maxtire;
     long gun, ball, x=0;
            printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n");
            printf("º                         º\n");
            printf("º  ~~ Roulette Russe  ~~  º\n");
            printf("º                         º\n");
            printf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n\n\n");
           
     printf("MENU  \n\n1. Jouer\n2. R%cgle du jeu\n3. Quitt%c\n\nVotre Choix : ", 138, 130);
     scanf("%d", &Menu);
     
     switch (Menu) {
            case 1 :
                 do{
    ball=balle();
       system("cls");
         for (maxtire=7 ;maxtire==1 ||x!=1; ){
           
                  printf("Pour savoir qui tire le premier nous allons jouer a Pierre, Papier, Ciseaux\n");
                  printf("1. Pierre\n2. Papier\n3. Ciseaux\n\n Votre Choix : ");
                  scanf("%d", & Player);
                  Ordi=Ordijoue ();
                 
                 if (Player == 1 && Ordi == 1){
                            printf("Match Nul\nRecomencer !");
                            }
                  else if (Player == 2 && Ordi == 2){
                            printf("Match Nul\nRecomencer !");
                            }   
                  else if (Player == 3 && Ordi == 3){
                            printf("Match Nul\nRecomencer !");
                            }
                  else if (Player == 1 && Ordi == 2){
                            printf("L%cOrdi a gagner, a vous de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               ViePlayer--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", ViePlayer);
                                               x=1;
                                               }
                                               else {
                                                    printf("Tu es pas mort la partie continue");
                                               }
                            }   
                           
                  else if (Player == 1 && Ordi == 3){
                            printf("Vous avait gagner, a l%c ordi de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               VieOrdi--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", VieOrdi);
                                               x=1;
                                               }
                                               else {
                                                    printf("Tu es pas mort la partie continue");
                                               }
                            }
                  else if (Player == 3 && Ordi == 1){
                            printf("Vous avait gagner, a l%cordi de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               VieOrdi--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", VieOrdi);
                                               x=1;
                                               }
                                               else {
                                                   printf ("Tu es pas mort la partie continue");
                                               }
                            }                         
                  else if (Player == 2 && Ordi == 1){
                            printf("Vous avait gagner, a l%c ordi de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               VieOrdi--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", VieOrdi);
                                               x=1;
                                               }
                                               else {
                                                    printf("Tu es pas mort la partie continue");
                                               }
                            }                       
                  else if (Player == 1 && Ordi == 2){
                            printf("L%cOrdi a gagner, a vous de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               ViePlayer--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", ViePlayer);
                                               x=1
                                               }
                                               else {
                                                    printf("Tu es pas mort la partie continue");
                                               }
                            }
                  else if (Player == 2 && Ordi == 3){
                            printf("L%cOrdi a gagner, a vous de tirai !!", 96);
                            maxtire--;
                            gun = pistolet (ball, maxtire);
                             if(gun==1){
                                               ViePlayer--;
                                               printf("BOOOOMMMMMM !!!!! \nTu es Mort il te reste %d vie", ViePlayer);
                                               x=1;
                                               }
                                               else {
                                                   printf("Tu es pas mort la partie continue");
                                               }
                            }
                            }                     
                             printf("Fin de la premiere manche\n");// répéte en boucle cette affichage
                             system("pause");                           
                            }while (ViePlayer != 0 || VieOrdi != 0);//prob de boucle
                            break;
         case 2 :
              printf("Regle");
          break;
         
          case 3 :
             return 0;
          break;
         
          default:   
                    printf("Ce choix n%cesiste pas", 96);
          break;   
         
            }

    system("pause");
      return 0;
    }


    Fichier AI.h


    #include <time.h>

    long Ordijoue (){
         srand (time(NULL));
        long max=3, min=1 ;
         return (rand() % (max - min + 1)) + min;
         }
       
       
         
    long pistolet (balle, coup){
         long b ;
    if (balle == coup){
              b=1;
              }
    else {
         b=0;
         }
    return b;
    }
         
    long balle(){
         
        srand (time(NULL));
         return (rand() % (6 - 1 + 1)) + 1;
         }
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      26 janvier 2006 à 19:37:26

      Essaye de faire le meme programme, mais en supprimant petit a petit le code dans la boucle, tu verra a quel endroit sa bugge.
      Tu supprime donc etape par etape, en gardanst le code initial de cote, bien sur
      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2006 à 23:51:39

        une petite scission du code en fonction ne fais jamais de mal pour le comprendre. C'est toujours mieux d'avoir un mian tout propre.
        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2006 à 0:38:24

          Moi je changerais ce code
          if (Player == 1 && Ordi == 1){
                                  printf("Match Nul\nRecomencer !");
                                  }
                        else if (Player == 2 && Ordi == 2){
                                  printf("Match Nul\nRecomencer !");
                                  }   
                        else if (Player == 3 && Ordi == 3){
                                  printf("Match Nul\nRecomencer !");
                                  }
                        else if (Player == 1 && Ordi == 2){
                                  printf("L%cOrdi a gagner, a vous de tirai !!", 96);

          par
          if (Player == Ordi)


          Et puis les fautes d'orthographe aussi :p
          Moi aussi je suis mauvais en orthographe mais il est demandé de faire attention quand on poste sur le sdz.

          Vous avait gagner, a l%c ordi de tirai Vous avez gagné, à l'ordi de tirer.

          Pour ton problème, je vais regarder ;-)

          • Partager sur Facebook
          • Partager sur Twitter
          Liste ou site de naissance original à découvrir sur www.o-liste.net

          [C] La Roulette Russe en 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