Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Source C] Jeux du Plus ou Moins V2.
Auteur Message
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
Bonjour,
pour ceux qui ont suivis le TUTO C de matheo, ils savent surement ce qu'est ce jeu. Pour les autres ben vous le découvrirai en le testant.

Alors évidemment je l'ai amélioré un peu.

Il possède deux Modes: 1 joueur et 2 joueurs.
Dans le mode 1 joueur, il y a 3 niveau de difficulté. Je pense même à rajouter un niveau avec du temps.

Le code est assez long et j'ai hésité à le mettre mais après tout un petit copié-collé ==> compilé et lancé et c'est parti.
Il est en mode console .

Code:

/*

Plus ou Moins
-------------

Réalisé par PaYfieUur
Création le : 26/03/2009
Dernière modification: 02/05/2009

*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ( int argc, char** argv )
{

    long nombreMystere1 = 0, nombreMystere2 = 0, nombreEntre = 0, modeDeJeux = 0, niveau = 0;
   int continuer = 1;

   printf("\n\t\t\t.:: Le Nombre Mystere v.2 ::.\n"); // titre
   printf("Le but du jeu est de trouver le nombre mystere avec le moins de coups possibles.\n\n"); // petites règles
   
   while (continuer != 2) // Boucle qui demande à l'utilisateur s'il veut recommencer.
   {
   long compteur = 0; // pour le mode 1 Joueur
   long compteurJoueur1 = 0, compteurJoueur2 = 0; // pour le mode 2 Joueurs
   printf("\n\n=== Menu ===\n\n"); // menu pour mode 1 ou 2 joueur(s)
   printf("Mode solo: Tapez 1\n");
   printf("Mode deux joueurs: Tapez 2\n");
   printf("\nFaites votre choix: ");
   scanf("%ld", &modeDeJeux);
   
   if(modeDeJeux == 1) // Si le joueur choisi le mode solo
   {
   printf("\nVous avez choisi le mode solo ! Maintenant choisissez votre niveau: \n\n"); // demande le niveau de difficulté
   printf("Niveau facile: Nombre compris entre 1 et 100.\n");
   printf("Niveau moyen: Nombre compris entre 1 et 1000.\n");
   printf("Niveau difficile: Nombre compris entre 1 et 10000.\n\n");
   printf("Faites votre choix: ");
   scanf("%ld", &niveau);
   system("CLS");
   
   switch (niveau)
   {
   case 1: // s'il a choisi le niveau facile
   {
   int nombreMaximum = 100, nombreMinimum = 1;
   
   
printf("\n\nVous avez choisi le niveau facile (nombre compris entre 1 et 100). Bonne Chance!\n");
   // Génération du nombre aléatoire
    srand(time(NULL));
    nombreMystere1 = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
   do
   {
   printf("\nEntrez un nombre : ");
   scanf("%ld", &nombreEntre);
   compteur++; // booleen pour le compteur de coups
   
   if (nombreMystere1 < nombreEntre)
   {
   printf ("Le nombre Mystere est plus petit !\n\n");
   }
   else if (nombreMystere1 > nombreEntre)
   {
   printf ("Le nombre Mystere est plus grand !\n\n");
   }
   else
   {
   printf ("Bravo ! Vous avez trouve le nombre Mystere qui etait %ld en %ld coups!\n\n", nombreMystere1, compteur);
   }

   } while (nombreEntre != nombreMystere1); // fin de la boucle do while encadrant les différentes conditions
   break;
   }
   case 2: // S'il a choisi le niveau moyen
   {
   int nombreMaximum = 1000, nombreMinimum = 1;
   
   printf("\n\nVous avez choisi le niveau moyen (nombre compris entre 1 et 1000). Bonne Chance!\n");
   // Génération du nombre aléatoire
    rand();
    nombreMystere1 = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
   do
   {
   printf("\nEntrez un nombre : ");
   scanf("%ld", &nombreEntre);
   compteur++; // booleen pour le compteur de coups
   
   if (nombreMystere1 < nombreEntre)
   {
   printf ("Le nombre Mystere est plus petit !\n\n");
   }
   else if (nombreMystere1 > nombreEntre)
   {
   printf ("Le nombre Mystere est plus grand !\n\n");
   }
   else
   {
   printf ("Bravo ! Vous avez trouve le nombre Mystere qui etait %ld en %ld coups!\n\n", nombreMystere1, compteur);
   }

   } while (nombreEntre != nombreMystere1); // fin de la boucle do while encadrant les différentes conditions
   break;
   }
   case 3: // S'il a choisi le niveau difficile.
   {   
   int nombreMaximum = 10000, nombreMinimum = 1;
   
   printf("\n\nVous avez choisi le niveau difficile (nombre compris entre 1 et 10000). Bonne   Chance !\n");
   // Génération du nombre aléatoire
    rand();
    nombreMystere1 = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
   do
   {
   printf("\nEntrez un nombre : ");
   scanf("%ld", &nombreEntre);
   compteur++; // booleen pour le compteur de coups
   
   if (nombreMystere1 < nombreEntre)
   {
   printf ("Le nombre Mystere est plus petit !\n\n");
   }
   else if (nombreMystere1 > nombreEntre)
   {
   printf ("Le nombre Mystere est plus grand !\n\n");
   }
   else
   {
   printf ("Bravo ! Vous avez trouve le nombre Mystere qui etait %ld en %ld coups!\n\n", nombreMystere1, compteur);
   }

   } while (nombreEntre != nombreMystere1); // fin de la boucle do while encadrant les différentes conditions
   break;
   }
   default: // si le type a rentré un niveau qui ne se trouvent pas dans le menu
   printf ("Le niveau  selectionne n'existe pas !\n\n");
   break;
   
   } // fin du switch pour les niveaux
   system ("PAUSE");
   system ("CLS");
   printf ("1 = Oui\n2 = Non\n\nRecommencer: ");
   scanf ("%d", &continuer);
   system("CLS");
   } // fin du if (mode solo)
   
   
   
   
   
   
   
   
   
   else if (modeDeJeux == 2) // Si le joueur choisi le mode 2 joueurs
   {
   printf("\n\nC'est au Joueur 1 d'entrer un nombre et au Joueur 2 de le rechercher. (Apres les roles seront inverses bien entendu)");
   printf("\nJoueur 1, entrez le nombre mystere: "); // on demande au joueur 1 d'entrer un nombre
   scanf("%ld", &nombreMystere1);
   system("CLS");
   printf("\n\n A vous Joueur 2, essayez de trouver le nombre Mystere. Bonne chance !");
    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
   do
   {
   printf("\nEntrez un nombre : ");
   scanf("%ld", &nombreEntre);
   compteurJoueur2++; // booleen pour le compteur de coups
   
   if (nombreMystere1 < nombreEntre)
   {
   printf ("Le nombre Mystere est plus petit !\n\n");
   }
   else if (nombreMystere1 > nombreEntre)
   {
   printf ("Le nombre Mystere est plus grand !\n\n");
   }
   else
   {
   printf ("Bravo ! Vous avez trouve le nombre Mystere qui etait %ld en %ld coups!\n\n", nombreMystere1, compteurJoueur2);
   }

   } while (nombreEntre != nombreMystere1); // fin de la boucle do while encadrant les différentes conditions
   
   printf("\n\nC'est maintenant au Joueur 2 d'entrer le nombre mystere et au Joueur 1 de le    rechercher");
   printf("\nJoueur 2, entrez le nombre mystere: "); // Cette fois si c'est au Joueur 2 d'entrer le nombre
    scanf("%ld", &nombreMystere2);
   system("CLS");
   printf("\n\n A vous Joueur 1, essayez de trouver le nombre Mystere. Bonne chance !");
    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
   do
   {
   printf("\nEntrez un nombre : ");
   scanf("%ld", &nombreEntre);
   compteurJoueur1++; // booleen pour le compteur de coups
   
   if(nombreMystere2 < nombreEntre)
   {
   printf("Le nombre Mystere est plus petit !\n\n");
   }
   else if(nombreMystere2 > nombreEntre)
   {
   printf("Le nombre Mystere est plus grand !\n\n");
   }
   else
   {
   printf("Bravo ! Vous avez trouve le nombre Mystere qui etait %ld en %ld coups!\n\n", nombreMystere2, compteurJoueur1);
   }
   } while(nombreEntre != nombreMystere2); // fin de la boucle do while encadrant les différentes conditions
   
   printf("Pour connaitre le nom du vainqueur: ");
   system("PAUSE"); // que le systeme demande d'appuyer sur une touche afin de voir qui est le vainqueur !
   system("CLS");
   // Déclaration du grand vainqueur avec un if
   if(compteurJoueur1 < compteurJoueur2)
   {
   printf("\n\t\t\t ***** Joueur 1 est le Vainqueur !! *****\n\n");
   }
   else if(compteurJoueur1 > compteurJoueur2)
   {
   printf("\n\t\t\t ***** Joueur 2 est le Vainqueur !! *****\n\n");
   }
   else
   {
   printf("\nC'est une égalité ! Vous devrez refaire une partie pour connaitre le meilleur !\n\n");
   }
   
   printf("\nVous avez tous tres bien joue ! J'espere que le jeu vous a plus !\n");
   system ("PAUSE");
   system ("CLS");
   printf ("1 = Oui\n2 = Non\n\nRecommencer: ");
   scanf ("%d", &continuer);
   system("CLS");
   } // fin du else if (mode 2 joueurs)
   
   
   
   
   
   
   
   
   
   else // Si le joueur a entrer un mode de jeux inexistant
   {
   printf("\nVous avez entre un choix ne figurant pas dans le menu !");
   system ("PAUSE");
   system ("CLS");
   printf ("1 = Oui\n2 = Non\n\nRecommencer: ");
   scanf ("%d", &continuer);
   system("CLS");
   } // fin du else (si le joueur a rentrer un mode de jeux inexistant
   } // fin de la boucle while encadrant tout le programme !
   
    system("PAUSE");
   return 0;
}



Si vous trouvez un Bug ou si vous avez une remarque (qu'elle soit positive ou négative) dites le, c'est comme ça que j'avancerai.
Ceux qui ont des propositions pour rendre le jeux meilleurs dites les ici aussi.

P.S: Mon code est un peu brouillon.
Dans la V2.1, le code sera retravaillé. Rien ne sera ajouté mais le code sera mieux construit.

Voici l'exe de la v2: http://www.megaupload.com/?d=3TL2CVZ5



Dernière édition par PaYfieUur le Dim 16 Aoû 2009 - 14:56; édité 1 fois

______________________________________________________
By PaYfieUur


Forum mis en Ligne:
Sujet: [programmation][HaCkiinG = Hardware, astuce OS, Réseaux, Crypto]
Aucun Logiciel de piratage sur ce forum.
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
Salut,

J'en avais fait un moins complet Very Happy
Bravo =)




______________________________________________________
La sécurité informatique et vous ! = http://batchdhelus.open-web.fr
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
Bah ici j'ai rajouté selon les petits conseils qu'il a mis à la fin du TUTO's !
J'ai eu quelques problèmes dans la conception, c'est pour ça qu'il faut que je revoie mon code car il est fort brouillon.

Mais pour quelqu'un qui le test normalement, si on fait bien ce qu'il faut, il ne bug pas.
Par contre si par exemple quand il demande si on veut recommencer, si a la place de mettre 1 ou 2, on met une lettre, je crois qu'il bug.
Il va falloir que j'apprenne la saisie sécurisée mais bon ca viendra plus tard ! =P




______________________________________________________
By PaYfieUur


Forum mis en Ligne:
Sujet: [programmation][HaCkiinG = Hardware, astuce OS, Réseaux, Crypto]
Aucun Logiciel de piratage sur ce forum.
Visiter le site web du posteur
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
C'est simple,
tu fais une boucle qui redemande tant que la réponse n'est pas 2 ou 1.

Batch_man




______________________________________________________
La sécurité informatique et vous ! = http://batchdhelus.open-web.fr
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
en fait oui t'as raison ^^ J'y avais pas pensé.




______________________________________________________
By PaYfieUur


Forum mis en Ligne:
Sujet: [programmation][HaCkiinG = Hardware, astuce OS, Réseaux, Crypto]
Aucun Logiciel de piratage sur ce forum.
Visiter le site web du posteur
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
tu peux aussi faire une boucle qui boucle tout le programme et tant que RECOMMENCER =! 2 alors jouer...




______________________________________________________
La sécurité informatique et vous ! = http://batchdhelus.open-web.fr
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
Ca c'est ce que j'ai fait:

Code:
while (continuer == 1) // Boucle qui demande à l'utilisateur s'il veut recommencer.

        [....]

   system("PAUSE");
   system("CLS");
   printf ("1 = Oui\n2 = Non\n\nRecommencer: ");
   scanf ("%d", &continuer);
   system("CLS");
   } // fin de la boucle while encadrant tout le programme


Enfin je vais continuer d'apprendre, mes prochains codes seront plus travaillés Wink

EDIT: J'ai rajouté le lien megaUpload de l'exe pour ceux qui n'ont pas envie de compiler, .. a chaque fois.




______________________________________________________
By PaYfieUur


Forum mis en Ligne:
Sujet: [programmation][HaCkiinG = Hardware, astuce OS, Réseaux, Crypto]
Aucun Logiciel de piratage sur ce forum.
Visiter le site web du posteur
Répondre en citant
Message [Source C] Jeux du Plus ou Moins V2. 
Code:
system("PAUSE");
system("CLS");


Ces deux commandes ne sont valide que pour windows !!

Il vaut mieu utiliser les commandes:
getch() ou getchar() pour une pause

clrscr() pour une CLS

Okay

J'ai fais le même jeu aussi (3 types de Difficulté, 2 joueurs) Mr. Green


/* By Docteur
for
all */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()

{
int MAX = 100, MIN = 1;
int joueur = 0;
int choix1 = 0;
int choix2 = 0;
int nombreMystere = 0;
int esay = 0;
debut:

srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

printf("\n\n\n\n=====Le jeu du plus ou moins====\n\n\n");
printf("Combien de joueur ??? (max 2):");
scanf("%d", &joueur);

switch (joueur)
{
case 1: // le mode 1 joueur
{
{printf("\n\n---------------------\n----Mode 1 joueur----\n---------------------\n\n");
printf("Coisiser un nombre:");
scanf("%d", &choix1);}
unJ:
esay++;
if (choix1 == nombreMystere)
{printf("\n\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\n\nEn %d coups !!!\nEn %d coups !!!\nEn %d coups !!!", esay, esay, esay);
goto unJF;}

else if (choix1 < nombreMystere)
{printf("\nC'est plus !! \n\n");
printf("Choisiser un autre nombre:");
scanf("%d", &choix1);}

else if (choix1 > nombreMystere)
{printf("\nC'est moins !!!\n\n");
printf("Choisiser un autre nombre:");
scanf("%d", &choix1);}
goto unJ;
}

case 2: // Le mode 2 joueurs

{printf("\n\n---------------------\n----Mode 2 joueurs----\n---------------------\n\n");
printf("Joueur 1, choisiser un nombre:");
scanf("%d", &choix1);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Joueur 2, choisiser un nombre:");
scanf("%d", &choix2);}
deuxJ:
esay++;
if (choix2 == choix1)
{printf("\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nBien joue !!!\nEn %d coups !!!\nEn %d coups !!!\nEn %d coups !!!", esay, esay, esay);
goto deuxJF;}

else if (choix2 > choix1)
{printf("\nC'est moins !!!\n\n");
printf("Choisiser un autre nombre:");
scanf("%d", &choix2);}

else if (choix2 < choix1 )
{printf("\nC'est plus !! \n\n");
printf("Choisiser un autre nombre:");
scanf("%d", &choix2);}

goto deuxJ;
break;
}
deuxJF:
unJF:
goto debut;
return 0;

}





______________________________________________________
Allons-y !!
Message [Source C] Jeux du Plus ou Moins V2. 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch