logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [C]Petit jeu en console
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [C]Petit jeu en console  (Lu 4636 fois)
mansonboy

Profil challenge

Classement : 662/54325

Membre Junior
**
Hors ligne Hors ligne
Messages: 61


Voir le profil
« le: 25 Juillet 2007 à 13:58:35 »

Bonjour, je suis entrain de faire un petit jeu de question en console en utilisant le langage C. Rien d'extraordinaire mais pour apprendre le mieux, selon moi, c'est pratiquer donc je m'améliore a travers ce mini projet. Il avance bien mais je bute encore sur quelques petits point...

*J'aimerai mettre un place un système de joker (au nombre de 3), **orthographe !** une fonction qui serait possible de déclencher a n'importe quel question mais le problème c'est que j'aimerai limiter cette fonction a 3. Je sais pas si c'est bien claire...

*Ensuite un truc tout con mais comment proposer aux joueur quand il a perdu (ou est arriver a la fin d'un jeu) de recommencer une partie?

Voila les deux petites questions pour le moment. Pour l'instant le jeu ne comprend que une série de question par défaut mais par la je suis entrain de mettre en place plusieurs série de question en fonction de thème différent et le joueur pourra choisir le thème qu'il veut au debut du jeu.

Bref, voici le code. Si vous repérez des erreurs, des amélioration possible ou tout autres idées hésiter pas.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "jocker.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;


/*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
{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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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
{
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);
}
Pour le moment tout est dans le main.c mais la je suis également entrain de ranger les fonctions dans des headers afin de mit retrouver mieux. Si vous avez également des bons sites où je pourrais y trouver des questions (avec les reponses) merci.
Journalisée
Zmx

Profil challenge

Classement : 71/54325

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 559


Voir le profil WWW
« #1 le: 25 Juillet 2007 à 14:07:27 »

Sans etre un expert, je pense qu'il faudrais externalisé tes questions/reponses de ton logiciel ...
ça te permetra d'apprendre a te servir d'une minibase de donnée, ou d'un fichier externe.

Pour les 3 joker, tu peux mettre dans ta boucle (vu que tu auras les question en externe) un appel a la fonction joker, qui tiendras à jour une variable "count", si il est egal a 3 tu renvoit un "vous avez deja utilisé vos joker" sinon tu incremente ta variable count (en plus de faire l'effet joker)
Journalisée

DviL

Profil challenge

Classement : 329/54325

Néophyte
*
Hors ligne Hors ligne
Messages: 26


Voir le profil
« #2 le: 25 Juillet 2007 à 18:59:32 »

Ce que je fais en général pour programmer un menu ou une fin ou pour demander au joueur de recommencer quand le jeu est fini ou quand le joueur a perdu, tu peux faire une boucle du genre :
Code:
while(fin!=1) {
/* Ton jeu */
}
Et tu demandes à la fin de ta boucle "Voulez-vous recommencer une partie ?", et tu passe à 1 ta variable si il veut quitter.
« Dernière édition: 08 Octobre 2007 à 00:13:33 par DviL » Journalisée

./====================\.
|        No BraiN No PaiN           |
.\====================/.
mansonboy

Profil challenge

Classement : 662/54325

Membre Junior
**
Hors ligne Hors ligne
Messages: 61


Voir le profil
« #3 le: 26 Juillet 2007 à 09:12:04 »

Merci pour l'idée de la nouvelle partie. Pour les joker j'ai fait un sytem d'ingrementation dans ce style :

Code:
while (joker --) /*boucle joker, retire 1 a chaque boucle*/
{

if (joker == 0 ) /* If se declenche quand il n'y a pu de joker*/
    {
        printf ("Vous n'avez pu de joker"); /*phrase*/
    }
else /*se declenche quand il y a des joker */
    {
        printf ("Il vous reste %ld joker\n", joker); /*phrase*/
    }
   
}
En rajoutant ceci a un else if en plus du else et if (reponse vrai / reponse fause )
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: