[C]Petit jeu en console

Résolu
mansonboy Messages postés 11 Statut Membre -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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");
    }
    0
  2. mansonboy Messages postés 11 Statut Membre
     
    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 ;)
    0
  3. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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...
    0
  4. mansonboy Messages postés 11 Statut Membre
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mansonboy Messages postés 11 Statut Membre
     
    Non ba en faite sa marche toujours pas, sa continue apres 3 joker (-1, -2, -3...)
    0
  7. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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)
    0
  8. mansonboy Messages postés 11 Statut Membre
     
    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);
    }
    0
  9. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Oui forcément, dans ton code tu as fait des trucs bizzares comme:
    else if (choix6 ==0)
    {
    (joker>0);
    0
  10. mansonboy Messages postés 11 Statut Membre
     
    Ba oui je sais que c'est bizar... Alors une solution?
    0
  11. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Une solution?
    Ben relis justement ma solution, je ne t'ai jamais conseillé d'écrire des lignes comme celle-ci:
    (joker>0);

    0