[C]Petit jeu en console

Résolu/Fermé
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014 - 26 juil. 2007 à 14:14
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 26 juil. 2007 à 17:55
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

10 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juil. 2007 à 14:42
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
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014
26 juil. 2007 à 14:58
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juil. 2007 à 15:04
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
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014
26 juil. 2007 à 15:13
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014
26 juil. 2007 à 15:35
Non ba en faite sa marche toujours pas, sa continue apres 3 joker (-1, -2, -3...)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juil. 2007 à 15:49
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
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014
26 juil. 2007 à 16:13
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juil. 2007 à 16:23
Oui forcément, dans ton code tu as fait des trucs bizzares comme:
else if (choix6 ==0)
{
(joker>0);
0
mansonboy Messages postés 10 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 2 mars 2014
26 juil. 2007 à 17:35
Ba oui je sais que c'est bizar... Alors une solution?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juil. 2007 à 17:55
Une solution?
Ben relis justement ma solution, je ne t'ai jamais conseillé d'écrire des lignes comme celle-ci:
(joker>0);

0