[C]Petit jeu en console

Résolu
Bonjour, je suis entrain de creer un petit jeu en C et j'ai quelques petit truc que je n'arrive pas a faire. J'aimerai faire une incrementation mais qu'elle ne se declenche que 3 fois. Je m'explique, c'est un jeu de question et j'amerai mettre un system de joker j'ai donc mit les joker comme sa :

if (choix = 0 )
{
joker -- ;
printf ("il vous reste plus que %ld joker", joker);
}
else if (choix = (numero correspondant a la reponse, on va dire 4 la)
{
printf ('bravo, question suivante");
}
else
{
printf ("perdu");
}

Voila donc je m'est ceci a tout les questions et il faudrau que je trouve un astuce pour que une fois 3 fois le joker utiliser sa se bloque
Configuration: Windows XP / Ubuntu
Firefox 2.0.0.5

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Je verrais le truc comme ceci:
    if (choix == 0){
            if(joker>0){
                 printf ("il vous reste plus que %ld joker", joker);
                 joker --;
            }
            else{
                printf("Vous n'avez plus de joker ");
           }
    }
    else if (choix = (numero correspondant a la reponse, on va dire 4 la)
    {
        printf ('bravo, question suivante");
    }
    else
    {
        printf ("perdu");
    }
    1. Ah oui pas bete par contre joker -- doit se mettre avant le printf sinon sa donera le nombre de joker qui reste avant de le retirer ;)
      1. Modérateur
        Vrai, sinon tu peux aussi faire comme ceci:
        if(joker>0){
                     printf ("il vous reste plus que %ld joker", --joker);
            }        
        }


        Pour explication:

        printf ("il vous reste plus que %ld joker", --joker);


        C'est la même chose que
        joker = joker - 1;
        printf ("il vous reste plus que %ld joker", joker);


        Par contre:

        printf ("il vous reste plus que %ld joker", joker--);


        C'est la même chose que
        printf ("il vous reste plus que %ld joker", joker);
        joker = joker - 1;


        Ce sont des raccourcis pratiques mais ça a l'inconvénient de rendre le code moins lisible...
        1. je pence que je vais utiliser cette solution la :

          if(joker>0){
          printf ("il vous reste plus que %ld joker", --joker);
          }
          }

          Merci de ton aide.
          1. Non ba en faite sa marche toujours pas, sa continue apres 3 joker (-1, -2, -3...)
            1. Modérateur
              Tu as gardé la ligne if(choix = 0) ?
              Parce que ce truc est faux. C'est une affectation alors que toi tu veux faire un test: if(choix == 0)
              1. Je vois pas trop ce que tu veux dire la...

                Voici le code actuelle la :

                #include <stdio.h>
                #include <stdlib.h>
                #include <windows.h> 
                #include "code_couleur.h"
                
                /* creation variable couleur*/
                void Color(int couleurDuTexte,int couleurDeFond);
                
                
                int main(int argc, char *argv[])
                {
                /* Creation des fonctions de main seulement*/
                long menue, choix, choix2, choix3, choix4, choix5, 
                choix6, choix7, choix8, choix9, choix10, choix11,choix12,choix13, choix14, joker =3;
                
                
                /*Creation de l'introduction */
                Color (12,0); /*couleur introduction */
                printf ("                              *********************                  \n");
                printf ("                            **    Je Suis Pas Con  **                \n");
                printf ("                              *********************                \n\n");
                
                
                Color (5,0); /*Couleur Regles */
                printf ("********************************************************************************\n");
                printf ("         Pour jouer c'est tres simple, tu v'as avoir une serie de question.\n       Tu as simplement besoin d'appuyer sur le nombre correspondant et entrer. \n");
                printf ("********************************************************************************\n\n");
                
                /*Premiere question*/
                Color (0,7);
                printf ("voici la premiere question :                       \n");
                printf ("Quel chiffre peut atteindre 12 en etant multiplier?\n");
                
                Color (12,0);
                printf ("1-0\n"
                        "2-4\n"
                        "3-6\n"
                        "4-5\n");
                        
                Color (15,0);
                printf ("Reponse : ");
                    scanf ("%ld", &choix);
                /* if question correct, else question fause*/
                if (choix ==3)
                {
                Color (11,0);
                printf ("\nBien jouer\n\n");}
                else if (choix ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                
                else
                {printf ("perdue");
                 system("PAUSE");	
                  return 0;}
                  
                 /*deuxieme question*/ 
                Color (0,7);
                printf ("voici la deuxieme question       :\n");
                printf ("Lequel de ces nuages nexiste pas ?\n");
                
                Color (12,0);
                printf ("1-Cumulus\n"
                "2-Trodinus\n"
                "3-Stratus\n"
                "4-Cirrus\n");
                
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix2);
                
                if (choix2 == 2)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix2 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                }
                Color (0,7);
                printf ("voici la troisieme question   :\n");
                printf ("Lequel orthographe est corect ?\n");
                Color (12,0);
                printf("1-Python Regius\n"
                "2-Python Regous\n"
                "3-Python Reguis\n"
                "4-Python Retune\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix3);
                if (choix3 ==1)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix3 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                }
                Color (0,7);
                printf ("voici la quatrieme question         :\n");
                printf ("Quel piece n'existe pas en ordinateur?\n");
                Color (12,0);
                printf("1-Barette RAM\n"
                "2-Microprocesseur\n"
                "3-Switch\n"
                "4-prise Hube\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix4);
                
                if (choix4 ==4)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix4 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                }
                Color (0,7);
                printf ("voici la cinquieme question         :\n");
                printf ("Qeul marque de voiture n'existe pas ?\n");
                Color (12,0);
                printf("1-Acrea\n"
                "2-Venturi\n"
                "3-Modulio\n"
                "4-Dacia\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix5);
                
                if (choix5 == 3)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix5 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else 
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                }
                Color (0,7);
                printf ("voici la sixieme question            :\n");
                printf ("Le plus petit cheval au monde mesure ?\n");
                Color (12,0);
                printf("1-33 cm\n"
                "2-44 cm\n"
                "3-55 cm\n"
                "4-66 cm\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix6);
                
                if (choix6 == 2)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix6 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else 
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la septieme question      :\n");
                printf ("Un peu de calcul :f=2, y=5, z=3 ?\n");
                Color (12,0);
                printf("1-f x 2 + y x z + z x 2 + f = 2f - 1yz - 2zf \n"
                "2-f x 2 + y x z + z x 2 + f = f - f - yz - 2z - f \n"
                "3-f x 2 + y x z + z x 2 + f = 2f - 1y - 1z - 2z - 2f \n"
                "4-f x 2 + y x z + z x 2 + f = 5fyz\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix7);
                
                if (choix7 == 1)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix7 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la huigtieme question        :\n");
                printf ("Que veut dire ""race"" en français ?\n");
                Color (12,0);
                printf("1-Route\n"
                "2-Maison\n"
                "3-Ile\n"
                "4-Course\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix8);
                
                if (choix8 == 4)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix8 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la neuvieme question           :\n");  
                printf ("La population de paris est d'environ ?\n");
                Color (12,0);
                printf("1-3 150 000\n"
                "2-2 153 000\n"
                "3-4 457 000\n"
                "4-1 258 000\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix9);
                
                if (choix9 ==2)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix9 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else 
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la dixieme question  :\n");  
                printf ("Michael Jackson est nee le ?\n");
                Color (12,0);
                printf("1-29 Aout 55\n"
                "2-29 Aout 56\n"
                "3-29 Aout 57\n"
                "4-29 Aout 58\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix10);
                
                if (choix10 =4)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix10 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la onzieme question      :\n");
                printf ("L'amazonie a une superficie de ?\n");
                Color (12,0);
                printf("1-3,5 million de km\253\n"
                "2-4.2 million de km\253\n"
                "3-4.5 million de km\253\n"
                "4-5.2 million de km\253\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix11);
                
                if (choix11 ==3)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                else if (choix11 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la douzieme question  :\n");  
                printf ("Quand est nee internet ?     \n");
                Color (12,0);
                printf("1-1960\n"
                "2-1961\n"
                "3-1962\n"
                "4-1963\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix12);
                
                if (choix12 == 2)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }  
                else if (choix12 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else 
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la treizieme question         :\n");  
                printf ("Quel espece d'insectes n'existe pas ?\n");
                Color (12,0);
                printf("1-Hygonepere\n"
                "2-Coleoptere\n"
                "3-Diptere\n"
                "4-Hymenoptere\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix13);
                
                if (choix13 ==1)
                {
                Color (11,0);
                printf ("\nbien jouer\n\n");
                }
                 else if (choix13 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else 
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                  Color (0,7);
                printf ("voici la quatorzieme question        :\n");  
                printf ("Quel est la taile d'une Sugar Glider ?\n");
                Color (12,0);
                printf("1-10 cm\n"
                "2-20 cm\n" 
                "3-30 cm\n"
                "4-40 cm\n");
                Color (15,0);
                printf ("Reponse : ");
                scanf ("%ld", &choix14);
                
                if (choix14 ==3)
                {
                Color (11,0);
                printf ("Bravo, si tu es arriver ici c'est que tu en as dans le cerveau\n\n\n");
                }
                else if (choix14 ==0)
                {
                (joker>0);
                {
                printf ("il vous reste plus que %ld joker", --joker);
                }
                }
                else
                {
                printf ("perdue");
                system("PAUSE");	
                  return 0;
                  }
                 Color (12,0); 
                printf ("                              *********************                  \n");
                printf ("                            **    By in Thomas     **                \n");
                printf ("                              *********************                \n\n");
                
                
                system("PAUSE");	
                  return 0;
                  }
                  
                  void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs
                {
                        HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE);
                        SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
                }
                1. Modérateur
                  Oui forcément, dans ton code tu as fait des trucs bizzares comme:
                  else if (choix6 ==0)
                  {
                  (joker>0);
                  1. Modérateur
                    Une solution?
                    Ben relis justement ma solution, je ne t'ai jamais conseillé d'écrire des lignes comme celle-ci:
                    (joker>0);