begin process at 2012 05 27 20:07:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > JEU DES ALLUMETTES AVEC IA [DEV-C++]

JEU DES ALLUMETTES AVEC IA [DEV-C++]


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Niveau :Débutant Date de création :01/05/2002 Date de mise à jour :01/05/2002 21:50:32 Vu / téléchargé :5 575 / 202

Auteur : gorgonzola

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
voici un petit jeu d'allumettes ou vous devez prendre 1, 2 ou 3 allumettes, celui qui prend la derniere a perdu. On peut choisir le nombre d'allumettes et le niveau de difficulte.
en mode facile on le bat a tous les coups et en difficile on gagne presque jamais.
en mode facile, il prend a tous les coups un nombre d'allumettes au hasard (meme quand il n'en reste que 3 !), en normal il prend toujours au hasard sauf si il reste 4, 3 ou 2 allumettes et en difficile il essaye a chaque coup d'amener le nombre d'allumettes a un nombre ou c'est impossible de gagner (1,5,9,13,17,21,25,29). Si c'est son tour et qu'il y a un de ses nombres d'allumetes, il joue au hasard, et la l'utilisateur peut gagner si jamais a chaque coup il compte le nombre d'allumettes restantes et essaye de ramener le nombre d'allumettes a un nombre impossible (comme fais le pc koi)

Source

  • #include <stdio.h>
  • #include <conio.c>
  • #define GAUCHE 75
  • #define DROITE 77
  • #define ENTER 13
  • #define ESCAPE 27
  • int hasard(int max);
  • void main()
  • {
  • int increment;
  • int tour=1;
  • int enleve=0;
  • int difficulte=1;
  • int allumettes=6;
  • char touche;
  • textcolor(12);
  • printf("LE JEU DES ALUMETTES\n\n");
  • textcolor(14);
  • printf("Voici un petit jeu ou devez prendre 1 2 ou 3\n");
  • printf("allumettes, et le joueur qui prend la derniere\n");
  • printf("allumette a perdu.");
  • do
  • {
  • gotoxy(1,8);
  • textcolor(14);
  • printf("Nombre d'allumettes : ");
  • textcolor(10);
  • printf("%-2d",allumettes);
  • touche=getch();
  • if (touche==GAUCHE)
  • {
  • allumettes--;
  • if (allumettes==5) allumettes=30;
  • }
  • if (touche==DROITE)
  • {
  • allumettes++;
  • if (allumettes==31) allumettes=6;
  • }
  • } while (touche!=ENTER);
  • do
  • {
  • gotoxy(1,9);
  • textcolor(14);
  • printf("Difficulte : ");
  • textcolor(10);
  • switch (difficulte)
  • {
  • case 1: printf("facile ");
  • break;
  • case 2: printf("normal ");
  • break;
  • case 3: printf("difficile");
  • break;
  • }
  • touche=getch();
  • if (touche==GAUCHE)
  • {
  • difficulte--;
  • if (difficulte==0) difficulte=3;
  • }
  • if (touche==DROITE)
  • {
  • difficulte++;
  • if (difficulte==4) difficulte=1;
  • }
  • } while (touche!=ENTER);
  • clrscr();
  • do
  • {
  • textcolor(10);
  • for (increment=1 ; increment<=allumettes ; increment++)
  • {
  • gotoxy(increment*2,2);
  • printf("\xDB");
  • gotoxy(increment*2,3);
  • printf("\xDB");
  • gotoxy(increment*2,4);
  • printf("\xDB");
  • }
  • if (tour==2)
  • {
  • textcolor(12);
  • if (difficulte==1)
  • {
  • if (allumettes>3) enleve=hasard(3);
  • else
  • {
  • if (allumettes==3) enleve=hasard(2);
  • else enleve=1;
  • }
  • }
  • if (difficulte==2)
  • {
  • switch (allumettes)
  • {
  • case 4: enleve=3;
  • break;
  • case 3: enleve=2;
  • break;
  • case 2: enleve=1;
  • break;
  • case 1: enleve=1;
  • default: enleve=hasard(3);
  • }
  • }
  • if (difficulte==3)
  • {
  • enleve=0;
  • increment=2;
  • if (allumettes==1) enleve=1;
  • while (enleve==0)
  • {
  • if (allumettes==increment+0) enleve=1;
  • if (allumettes==increment+1) enleve=2;
  • if (allumettes==increment+2) enleve=3;
  • if (allumettes==increment+3) enleve=hasard(3);
  • increment=increment+4;
  • }
  • }
  • allumettes=allumettes-enleve;
  • gotoxy(1,6);
  • printf("L'ordinateur prend %d allumettes",enleve);
  • tour=1;
  • }
  • else while (tour==1)
  • {
  • textcolor(14);
  • gotoxy(1,7);
  • printf("Combien d'allumettes voulez-vous prendre ? ");
  • touche=getch();
  • enleve=0;
  • switch (touche)
  • {
  • case '1': enleve=1;
  • tour=2;
  • break;
  • case '2': enleve=2;
  • tour=2;
  • break;
  • case '3': enleve=3;
  • tour=2;
  • break;
  • }
  • if (((enleve>=allumettes)&&(allumettes>1))||((enleve>1)&&(allumettes==1)))
  • {
  • gotoxy(1,7);
  • if (allumettes==3) printf("Vous pouvez enlever maximum 2 allumettes ! ");
  • else printf("Vous pouvez enlever maximum 1 allumette ! ");
  • sleep(2000);
  • tour=1;
  • }
  • else allumettes=allumettes-enleve;
  • if (tour==2) printf("%d",enleve);
  • if (touche==ESCAPE) tour=2;
  • }
  • if (tour==1) textcolor(12);
  • else textcolor(14);
  • for (increment=1 ; increment<=enleve ; increment++)
  • {
  • gotoxy((increment*2)+(allumettes*2),2);
  • printf("\xDB");
  • gotoxy((increment*2)+(allumettes*2),3);
  • printf("\xDB");
  • gotoxy((increment*2)+(allumettes*2),4);
  • printf("\xDB");
  • }
  • if (allumettes==0)
  • {
  • if (tour==2)
  • {
  • for (increment=10 ; increment<=14 ; increment++)
  • {
  • gotoxy(1,9);
  • textcolor(increment);
  • printf("##### ##### # # ##### ##### # # ##### #####\n");
  • printf("# # # ## ## # # # # # # # #\n");
  • printf("# # ##### # # # ##### # # # # ##### #####\n");
  • printf("# # # # # # # # # # # # # # \n");
  • printf("##### # # # # ##### ##### # ##### # # \n");
  • sleep(200);
  • }
  • printf("\nC'est si dur que ca ?");
  • getch();
  • }
  • else
  • {
  • for (increment=10 ; increment<=14 ; increment++)
  • {
  • gotoxy(1,9);
  • textcolor(increment);
  • printf("#### ##### ##### # # #####\n");
  • printf("# # # # # # # # # #\n");
  • printf("#### ##### ##### # # # #\n");
  • printf("# # # # # # # # # #\n");
  • printf("#### # # # # # #####\n");
  • sleep(200);
  • }
  • if (difficulte==1) printf("\nMais en mode facile c'est pas dure !");
  • if (difficulte==2) printf("\nPas mal, maintenant essayez en difficile !");
  • if (difficulte==3) printf("\nBravo, vous avez reussi avec la plus haute difficulte !");
  • getch();
  • }
  • }
  • } while ((touche!=ESCAPE)&&(allumettes!=0));
  • }
  • /*DONNE UN NOMBRE AU HASARD DE 1 A max*/
  • int hasard(int max)
  • {
  • int nombre;
  • srand(time(NULL));
  • nombre=rand() % max;
  • nombre++;
  • return nombre;
  • }
#include <stdio.h>
#include <conio.c>

#define    GAUCHE    75
#define    DROITE    77
#define    ENTER     13
#define    ESCAPE    27

int hasard(int max);

void main()
{
  int  increment;
  int  tour=1;
  int  enleve=0;
  int  difficulte=1;
  int  allumettes=6;
  char touche;

  textcolor(12);
  printf("LE JEU DES ALUMETTES\n\n");
  textcolor(14);
  printf("Voici un petit jeu ou devez prendre 1 2 ou 3\n");
  printf("allumettes, et le joueur qui prend la derniere\n");
  printf("allumette a perdu.");
  do
  {
    gotoxy(1,8);
    textcolor(14);
    printf("Nombre d'allumettes : ");
    textcolor(10);
    printf("%-2d",allumettes);
    touche=getch();
    if (touche==GAUCHE)
    {
      allumettes--;
      if (allumettes==5) allumettes=30;
    }
    if (touche==DROITE)
    {
      allumettes++;
      if (allumettes==31) allumettes=6;
    }
  } while (touche!=ENTER);
  do
  {
    gotoxy(1,9);
    textcolor(14);
    printf("Difficulte : ");
    textcolor(10);
    switch (difficulte)
    {
      case 1: printf("facile   ");
              break;
      case 2: printf("normal   ");
              break;
      case 3: printf("difficile");
              break;
    }
    touche=getch();
    if (touche==GAUCHE)
    {
      difficulte--;
      if (difficulte==0) difficulte=3;
    }
    if (touche==DROITE)
    {
      difficulte++;
      if (difficulte==4) difficulte=1;
    }
  } while (touche!=ENTER);
  clrscr();
  do
  {
    textcolor(10);
    for (increment=1 ; increment<=allumettes ; increment++)
    {
      gotoxy(increment*2,2);
      printf("\xDB");
      gotoxy(increment*2,3);
      printf("\xDB");
      gotoxy(increment*2,4);
      printf("\xDB");
    }
    if (tour==2)
    {
      textcolor(12);
      if (difficulte==1)
      {
        if (allumettes>3) enleve=hasard(3);
        else
        {
          if (allumettes==3) enleve=hasard(2);
          else enleve=1;
        }
      }
      if (difficulte==2)
      {
        switch (allumettes)
        {
          case 4:  enleve=3;
                   break;
          case 3:  enleve=2;
                   break;
          case 2:  enleve=1;
                   break;
          case 1:  enleve=1;
          default: enleve=hasard(3);
        }
      }
      if (difficulte==3)
      {
        enleve=0;
        increment=2;
        if (allumettes==1) enleve=1;
        while (enleve==0)
        {
          if (allumettes==increment+0) enleve=1;
          if (allumettes==increment+1) enleve=2;
          if (allumettes==increment+2) enleve=3;
          if (allumettes==increment+3) enleve=hasard(3);
          increment=increment+4;
        }
      }
      allumettes=allumettes-enleve;
      gotoxy(1,6);
      printf("L'ordinateur prend %d allumettes",enleve);
      tour=1;
    }
    else while (tour==1)
    {
      textcolor(14);
      gotoxy(1,7);
      printf("Combien d'allumettes voulez-vous prendre ? ");
      touche=getch();
      enleve=0;
      switch (touche)
      {
        case '1':  enleve=1;
                   tour=2;
                   break;
        case '2':  enleve=2;
                   tour=2;
                   break;
        case '3':  enleve=3;
                   tour=2;
                   break;
      }
      if (((enleve>=allumettes)&&(allumettes>1))||((enleve>1)&&(allumettes==1)))
      {
        gotoxy(1,7);
        if (allumettes==3) printf("Vous pouvez enlever maximum 2 allumettes ! ");
        else printf("Vous pouvez enlever maximum 1 allumette !  ");
        sleep(2000);
        tour=1;
      }
      else allumettes=allumettes-enleve;
      if (tour==2) printf("%d",enleve);
      if (touche==ESCAPE) tour=2;
    }
    if (tour==1) textcolor(12);
    else textcolor(14);
    for (increment=1 ; increment<=enleve ; increment++)
    {
      gotoxy((increment*2)+(allumettes*2),2);
      printf("\xDB");
      gotoxy((increment*2)+(allumettes*2),3);
      printf("\xDB");
      gotoxy((increment*2)+(allumettes*2),4);
      printf("\xDB");
    }
    if (allumettes==0)
    {
      if (tour==2)
      {
        for (increment=10 ; increment<=14 ; increment++)
        {
          gotoxy(1,9);
          textcolor(increment);
          printf("##### ##### #   # #####  ##### #   # ##### #####\n");
          printf("#     #   # ## ## #      #   # #   # #     #   #\n");
          printf("#   # ##### # # # #####  #   # #   # ##### #####\n");
          printf("#   # #   # #   # #      #   #  # #  #     # #  \n");
          printf("##### #   # #   # #####  #####   #   ##### #  # \n");
          sleep(200);
        }
        printf("\nC'est si dur que ca ?");
        getch();
      }
      else
      {
        for (increment=10 ; increment<=14 ; increment++)
        {
          gotoxy(1,9);
          textcolor(increment);
          printf("####  ##### ##### #   # #####\n");
          printf("#   # #   # #   # #   # #   #\n");
          printf("####  ##### ##### #   # #   #\n");
          printf("#   # # #   #   #  # #  #   #\n");
          printf("####  #  #  #   #   #   #####\n");
          sleep(200);
        }
        if (difficulte==1) printf("\nMais en mode facile c'est pas dure !");
        if (difficulte==2) printf("\nPas mal, maintenant essayez en difficile !");
        if (difficulte==3) printf("\nBravo, vous avez reussi avec la plus haute difficulte !");
        getch();
      }
    }
  } while ((touche!=ESCAPE)&&(allumettes!=0));
}

/*DONNE UN NOMBRE AU HASARD DE 1 A max*/
int hasard(int max)
{
  int nombre;
  srand(time(NULL));
  nombre=rand() % max;
  nombre++;
  return nombre;
} 

 Conclusion

voila essayez de le batte en difficile sans compter a chaque fois le nombre d'allumettes !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture RESOLUTION D'EQUATIONS (JUSQU'AU 3EME DEGRE) + CLASSE POUR M...
Source avec Zip DESSINER A LA MAIN UNE STRUCTURE FRACTALE [DJGPP] [VGA 13H]
Source avec Zip JEU DE LA VIE EN MODE VGA 11H [DJGPP]
Source avec Zip Source avec une capture GENERATEUR DE FRACTAL PERSONNALISE [VESA] [DJGPP]
Source avec Zip MODE VESA HAUTE RESOLUTION [DJGPP]

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DES CARTES par eapaceinfo
PROGRAMME DE JEU DE MPT par KerizGarmm
Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79

Commentaires et avis

Commentaire de simon03 le 23/05/2002 11:15:19

j'aime bien mais je voudrais savoir pourquoi il n'y a pas de rubrique aperçu comme ça on pourrait connaitre l'allure de l'interface !!! sinoon  le code est trés lisible

Commentaire de leskritiques le 10/01/2003 22:40:05

moi g un probleme avec getch() j'utilise dev c++ 4

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales