Jeu des allumettes [bc++ 4.0]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 632 fois - Téléchargée 37 fois

Contenu du snippet

Si vous ne connaisez pas la régle du jeu est inclus dans le propgramme

NE POUVANT PAS LA SUPPRIMER NE FAITE PAS ATTENTION A CETTE VERSION MAIS LA PROCHAINE SERA LA BONNE, ENCORE DESOLE

Source / Exemple :


/*
Allumettes : JEUX          Réalisé par DEQUEKER MANUEL         

e-mail : ManDeq59@aol.com  Site Web : http://www.textoagogo.fr.st  

Commencé le 13 Mai 2002 à 17h01 et Terminé le 15 Mai 2002 à 17h35  

  • /
///// DECLARATION DES LIBREAIRIES ///////// #include <iostream.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #include <math.h> ////////////////////////////////////////////////////// char prenom1[13], prenom2[13]; int y=5, s=10; int level=3, prise=1, prise_ordi=0; int nb_joueur=1, joueur=1; int menu() { char car_menu; clrscr(); // Effacement de l'écran printf(" Le Jeu des Allumettes par MANUEL DEQUEKER"); // Titre /////////////// MENU /////////////// gotoxy(30,5); printf(" Jouer (level 3 par default)"); gotoxy(30,7); printf(" Niveau "); gotoxy(30,9); printf(" Régles du jeu "); gotoxy(30,11); printf(" Quitter "); //////////////////////////////////// ////// GESTION DE LA FLECHE //////// do { gotoxy(27,y); printf("->"); car_menu = getch(); switch(car_menu) { case 50: y += 2; if (y == 13) { y = 5; gotoxy(27,11); printf(" "); } gotoxy(27,y-2); printf(" "); break; case 56: y -= 2; if (y == 3) { y = 11; gotoxy(27,5); printf(" "); } gotoxy(27,y+2); printf(" "); break; default: printf("%c",0x07); break; } } while (car_menu != 13); //////////////////////////////////// return y; } int choix_joueurs() { int t=5; char car_choix_joueurs; clrscr(); // Effacement de l'écran printf(" Le Jeu des Allumettes par MANUEL DEQUEKER"); // Titre /////////////// MENU /////////////// gotoxy(30,5); printf(" Mode 1 Joueur "); gotoxy(30,7); printf(" Mode 2 Joueurs "); //////////////////////////////////// ////// GESTION DE LA FLECHE //////// do { gotoxy(27,t); printf("->"); car_choix_joueurs = getch(); switch(car_choix_joueurs) { case 50: t += 2; if (t == 9) { t = 5; gotoxy(27,7); printf(" "); } gotoxy(27,t-2); printf(" "); break; case 56: t -= 2; if (t == 3) { t = 7; gotoxy(27,5); printf(" "); } gotoxy(27,t+2); printf(" "); break; default: printf("%c",0x07); break; } } while (car_choix_joueurs != 13); //////////////////////////////////// nb_joueur = t - (ceil (t / 2) + 2); // nb_joueur = 1 ou 2 en fct de t return (nb_joueur); } int niveau() { int z=5; char car_niveau; clrscr(); // Effacement de l'écran printf(" Le Jeu des Allumettes par MANUEL DEQUEKER"); // Titre /////////////// MENU /////////////// gotoxy(30,5); printf(" Niveau Facile "); gotoxy(30,7); printf(" Niveau Moyen"); gotoxy(30,9); printf(" Niveau Difficile "); //////////////////////////////////// ////// GESTION DE LA FLECHE //////// do { gotoxy(27,z); printf("->"); car_niveau = getch(); switch(car_niveau) { case 50: z += 2; if (z == 11) { z = 5; gotoxy(27,9); printf(" "); } gotoxy(27,z-2); printf(" "); break; case 56: z -= 2; if (z == 3) { z = 9; gotoxy(27,5); printf(" "); } gotoxy(27,z+2); printf(" "); break; default: printf("%c",0x07); break; } } while (car_niveau != 13); //////////////////////////////////// level = z - ( ceil( z / 2) + 2); // niveau = 1,2 ou 3 en fct de z return (level); } void regles() { clrscr(); printf(" Le Jeu des Allumettes par MANUEL DEQUEKER\n\n\n\n"); // Titre printf("\tLa régle est trés simple. Il y a 30 allumettes et vous devez en \n"); printf("tirer 1, 2, ou 3. Le perdant est celui qui tire la derniere."); printf("\n\n\n\n\n\nAppuyer sur une touche pour revenir au Menu"); getch(); } void pause() ///////////////////////////// { // Une petite pause pour // for (unsigned long int i=0; i<150000000; i++); // que les pions ne // { // tombes pas trop vite. // } // // } ///////////////////////////// int ia_ordi(int le_niveau, int le_nb_allum) { prise_ordi = 0; if (le_niveau == 1) { randomize (); prise_ordi = random(3) + 1; if (prise_ordi >= le_nb_allum) prise_ordi = 1; return (prise_ordi); } else if (le_niveau == 2) { int s = 0; int t = 0; s = prise_ordi + 1; t = ((float) (le_nb_allum - s)) / 4; while (t != floor (t)) { s--; t = ((float) (le_nb_allum - s)) / 4; } prise_ordi = s - 1; if (prise_ordi == 0) prise_ordi = 1; return (prise_ordi); } else { if ((le_nb_allum == 30) || (le_nb_allum == 26) || (le_nb_allum == 22) || (le_nb_allum == 18) || (le_nb_allum == 14) || (le_nb_allum == 10) || (le_nb_allum == 6) || (le_nb_allum == 2)) prise_ordi = 1; else if ((le_nb_allum == 28) || (le_nb_allum == 24) || (le_nb_allum == 20) || (le_nb_allum == 16) || (le_nb_allum == 12) || (le_nb_allum == 8) || (le_nb_allum == 4)) prise_ordi = 3; else if ((le_nb_allum == 27) || (le_nb_allum == 23) || (le_nb_allum == 19) || (le_nb_allum == 15) || (le_nb_allum == 11) || (le_nb_allum == 7) || (le_nb_allum == 3)) prise_ordi = 2; else prise_ordi = 1; return (prise_ordi); } } void main() { debut: int nb_allum=30; menu(); clrscr(); // Effacement de l'écran ////// REDIRECTION EN FCT DE Y ////// if (y == 5) goto jouer; else if (y == 7) { niveau(); goto debut; } else if (y == 9) { regles(); goto debut; } else { goto fin; } ////////////////////////////////////// jouer: choix_joueurs(); clrscr(); // Effacement de l'écran printf(" Le Jeu des Allumettes par MANUEL DEQUEKER\n\n\n\n"); // Titre //////// NOM DU/DES EN FCT DU NB DE JOUEUR /////////////// if (nb_joueur == 1) { printf("Quel est votre Prénom : "); gets (prenom1); sprintf(prenom2, "%s", "L'ordinateur"); } else { printf("Quel est le prénom du Joueur 1 : "); gets (prenom1); printf("Quel est le prénom du Joueur 2 : "); gets (prenom2); } ////////////////////////////////////////////////////////// clrscr(); // Effacement de l'écran do { gotoxy(18,0); printf("Le Jeu des Allumettes par MANUEL DEQUEKER"); // Titre /////// ALLUMETTES RESTANTES ///////////////////// gotoxy(0,3); printf("Allumette(s) restante(s) : %d", nb_allum); ////////////////////////////////////////////////// /////// AFFICHAGE DU NIVEAU ////////////////////// if (nb_joueur == 1) { gotoxy(60,3); printf("Niveau : %d", level); } ///////////////////////////////////////////////// ////// DESSIN DES ALLUMETTES ///////////////// for (int i=0; i<nb_allum; i++) { for (int j=0; j<4; j++) { gotoxy(2*i+10,j+5); printf("|"); } } ////////////////////////////////////////////// //////// AFFICHE LES NOMS DES JOUEURS //////// gotoxy(5,12); printf("Joueur 1 : %s", prenom1); gotoxy(5,14); printf("Joueur 2 : %s", prenom2); ////////////////////////////////////////////// //////// GESTION DE LA FLECHE //////////////// if (joueur == 1) { gotoxy(2,12); printf("->"); gotoxy(2,14); printf(" "); } else { gotoxy(2,14); printf("->"); gotoxy(2,12); printf(" "); } ////////////////////////////////////////////// //////// GESTION DE UN OU DEUX JOUEURS /////////////////////////////////// if (nb_joueur == 1) { if (joueur == 1) { do { if ((prise > nb_allum) || (prise > 3) || (prise == 0)) { gotoxy(20,19); printf("Vous ne pouvez pas tirer autant d'allumette"); } gotoxy(10,17); printf("Combien d'allumette souhaitez-vous prendre : "); scanf ("%d", &prise); } while ((prise > nb_allum) || (prise > 3) || (prise == 0)); nb_allum = nb_allum - prise; } else { gotoxy(15,17); printf("L'ordinateur 'Réflechi' ......... "); pause(); ia_ordi(level, nb_allum); nb_allum = nb_allum - prise_ordi; } } else { do { if ((prise > nb_allum) || (prise > 3) || (prise == 0)) { gotoxy(20,19); printf("Vous ne pouvez pas tirer autant d'allumette"); } gotoxy(10,17); printf("Combien d'allumette souhaitez-vous prendre : "); scanf ("%d", &prise); } while ((prise > nb_allum) || (prise > 3) || (prise == 0)); nb_allum = nb_allum - prise; } clrscr(); // Effacement de l'écran if (nb_joueur == 1) { if (joueur == 1) { joueur = 2; gotoxy(20,19); printf("%s a pris %d allumette(s)", prenom1, prise); } else { joueur = 1; gotoxy(20,19); printf("%s a pris %d allumette(s)", prenom2, prise_ordi); } } else { if (joueur == 1) { joueur = 2; gotoxy(20,19); printf("%s a pris %d allumette(s)", prenom1, prise); } else { joueur = 1; gotoxy(20,19); printf("%s a pris %d allumette(s)", prenom2, prise); } } ///////////////////////////////////////////////////////////////////////////// } while (nb_allum != 0); clrscr(); printf(" Le Jeu des Allumettes par MANUEL DEQUEKER\n\n\n\n"); // Titre if (nb_joueur == 1) { if (joueur == 2) { gotoxy(10,5); printf("L'ordinateur vous a battu. Si j'étais à votre place"); gotoxy(10,6); printf("Je reprendrai ma revanche !!!!!!!!!!"); } else { gotoxy(10,5); printf("Bien %s vous avez reussi à battre l'ordinateur au niveau %d", prenom1, level); } } else { if (joueur == 2) { gotoxy(10,5); printf("Félicitation %s. Vous avez battu %s", prenom1, prenom2); } else { gotoxy(10,5); printf("Félicitation %s. Vous avez battu %s", prenom2, prenom1); } } gotoxy(15,20); printf("Appuyer sur une touche pour revenir au Menu"); getch(); goto debut; fin: clrscr(); printf(" Le Jeu des Allumettes par MANUEL DEQUEKER\n\n\n\n"); // Titre gotoxy(25,12); printf("Merci d'avoir Joué à mon jeu !!"); gotoxy(35,15); printf("A bientot"); gotoxy(0,25); printf("Pour me contacter (renseignements, bugs, etc...) : ManDeq59@aol.com"); }

Conclusion :


Bugs connus : Quand on joue pour la deuxieme fois en ayant fat recommencer en fin de la premiere partie on ne peut pas changer de prenom et le(les) prenom(s) = ' '.

Pourquoi ?? si vous avez une idée merci de me le dire

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.