begin process at 2012 05 27 18:36:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > MASTERMIND AVEC DEV C++

MASTERMIND AVEC DEV C++


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Niveau :Débutant Date de création :07/05/2002 Date de mise à jour :07/05/2002 16:47:18 Vu / téléchargé :4 811 / 186

Auteur : Perceval

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

 Description

Cliquez pour voir la capture en taille normale
Un tit mastermind très très basique ( chuis un newbie en la matière ). Je me sert d'une bibliothèque américaine. Et il faut faire quelques changements en se servant de Dev C++. Premièrement, coller la biblio "winbgim.h" dans le rep "include" de dev C++ et coller "libbgi.a" dans le rep "lib".
Il faut aussi ouvrir un projet en C++, et non un fichier normal. Dans "projet option"il faut aussi rajouter -lbgi -lgdi32 dans le cadre "further...".
C un peu compliqué, je sais... mais l'important, c'est que ca marche.  

Source

  • #include "winbgim.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <conio.h>
  • #include <time.h>
  • void InitWindow();
  • void combinaison_ordi(int *tab_ordi);
  • void choix_joueur(int *tab_joueur);
  • void verification_pions(int *tab_ordi, int *tab_joueur, int *PionsOK, int *PionsDedans);
  • void EffaceEtRemetLesRonds(int *tab_joueur, int *ligne);
  • void Affiche_Resultat(int PionsOK, int PionsDedans, int ligne);
  • void Affiche_Combinaison(int *tab_ordi);
  • void win();
  • void lose();
  • int main()
  • {
  • int tab_ordi[4];
  • int tab_joueur[4];
  • int tmp[4];
  • int PionsOK;
  • int PionsDedans;
  • int ligne;
  • ligne=0;
  • int i;
  • InitWindow();
  • combinaison_ordi(tab_ordi);
  • do
  • {
  • choix_joueur(tab_joueur);
  • for(i=0;i<4;i++)
  • {
  • tmp[i]= tab_ordi[i];
  • }
  • EffaceEtRemetLesRonds(tab_joueur, &ligne);
  • verification_pions(tmp, tab_joueur, &PionsOK, &PionsDedans);
  • Affiche_Resultat(PionsOK, PionsDedans, ligne);
  • } //fin boucle do
  • while((PionsOK != 4)&&(ligne<10));
  • Affiche_Combinaison(tab_ordi);
  • delay(2500);
  • closegraph();
  • if(PionsOK == 4)
  • {
  • win();
  • }
  • else
  • {
  • lose();
  • }
  • } //fin main
  • void InitWindow()
  • {
  • int a, b, test=0;
  • initwindow(700,715);
  • rectangle(120,10,370,70);
  • rectangle(120,80,370,635);
  • rectangle(120,645,370,705);
  • settextstyle(5,HORIZ_DIR,4);
  • outtextxy(450,50,"legende");
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(390,100,"Cliquer sur un des ronds");
  • setcolor(15);
  • outtextxy(410,130,"pour le faire afficher");
  • setcolor(15);
  • outtextxy(410,160,"dans le cadre du bas.");
  • setcolor(4); //Rond rouge
  • setfillstyle(1,4);
  • fillellipse(450,250,25,25);
  • setcolor(1); //Rond Bleu
  • setfillstyle(1,1);
  • fillellipse(515,250,25,25);
  • setcolor(2); //Rond Vert
  • setfillstyle(1,2);
  • fillellipse(580,250,25,25);
  • setcolor(14); //Rond Jaune
  • setfillstyle(1,14);
  • fillellipse(450,325,25,25);
  • setcolor(15); //Rond Blanc
  • setfillstyle(1,15);
  • fillellipse(515,325,25,25);
  • setcolor(3); //Rond Cyan
  • setfillstyle(1,3);
  • fillellipse(580,325,25,25);
  • setcolor(6);
  • rectangle(520,595,630,630);
  • settextstyle(8,HORIZ_DIR,3);
  • setcolor(5);
  • outtextxy(525,600,"QUITTER");
  • }
  • /********************************************************/
  • /* Determination de la combinaison par l'ordinateur */
  • /********************************************************/
  • void combinaison_ordi(int tab_ordi[])
  • {
  • int i;
  • srand(time( NULL ) ); //Pour mettre D valeurs aléatoires. Initialise le rand
  • for (i=0;i<4;i++) //boucle qui va éxécuter la commande 4 fois.
  • {
  • tab_ordi[i] = (int)(6*rand())/RAND_MAX; //Choisis un chiffre entre 1 et 6
  • } //et le range dans un tableau.
  • } //fin void combinaison_ordi
  • /*****************************************/
  • /* Choix du joueur dans les couleurs */
  • /*****************************************/
  • void choix_joueur(int tab_joueur[]) //fonction qui répond aux cliques du joueur
  • {
  • int a;
  • int b;
  • int test;
  • int j;
  • j=1;
  • do
  • {
  • while (!ismouseclick(WM_LBUTTONDOWN)) //reaction au clic gauche de la souris
  • {
  • delay(200);
  • } //fin while
  • getmouseclick(WM_LBUTTONDOWN, a, b);
  • if((b>=595)&&(b<=630)&&(a>=520)&&(a<=630))
  • {
  • test=1;
  • closegraph();
  • exit(0);
  • } //fin boucle si
  • if((b>=225)&&(b<=275)&&(a>=425)&&(a<=475))
  • {
  • setcolor(4);
  • setfillstyle(1,4);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=0;
  • j++;
  • } //fin boucle si rond rouge
  • if((b>=225)&&(b<=275)&&(a>=490)&&(a<=540))
  • {
  • setcolor(1);
  • setfillstyle(1,1);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=1;
  • j++;
  • } //fin boucle si rond bleu
  • if((b>=225)&&(b<=275)&&(a>=555)&&(a<=605))
  • {
  • setcolor(2);
  • setfillstyle(1,2);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=2;
  • j++;
  • } //fin boucle si rond vert
  • if((b>=300)&&(b<=350)&&(a>=425)&&(a<=475))
  • {
  • setcolor(14);
  • setfillstyle(1,14);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=3;
  • j++;
  • } //fin boucle si rond jaune
  • if((b>=300)&&(b<=350)&&(a>=490)&&(a<=540))
  • {
  • setcolor(15);
  • setfillstyle(1,15);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=4;
  • j++;
  • } //fin boucle si rond blanc
  • if((b>=300)&&(b<=350)&&(a>=555)&&(a<=605))
  • {
  • setcolor(3);
  • setfillstyle(1,3);
  • fillellipse((j*60)+95,675,25,25);
  • tab_joueur[j-1]=5;
  • j++ ;
  • } //fin boucle si rond cyan
  • } //fin boucle do
  • while(j<=4);
  • printf("coord : (%d, %d)\n", a, b);
  • } //fin void choix_joueurs
  • /************************************************/
  • /* Verification de la combinaison du joueur */
  • /************************************************/
  • void verification_pions(int *tab_ordi, int *tab_joueur, int *PionsOK, int *PionsDedans)
  • {
  • int i;
  • int j;
  • *PionsOK = 0;
  • *PionsDedans = 0;
  • for (i=0;i<4;i++) //boucle qui scanne les pions bien placés
  • {
  • if(tab_joueur[i] == tab_ordi[i])
  • {
  • *PionsOK = *PionsOK+1;
  • tab_ordi[i] = -1;
  • tab_joueur[i] = -2;
  • } //fin boucle if
  • } //fin boucle for
  • for (i=0;i<4;i++)
  • {
  • for (j=0;j<4;j++)
  • {
  • if((i != j)&&(tab_joueur[i] == tab_ordi[j]))
  • {
  • *PionsDedans = *PionsDedans+1;
  • tab_joueur[i] = -2;
  • tab_ordi[j] = -1;
  • } //fin 1ere boucle if
  • } //fin 2eme boucle for
  • } //fin 1ere boucle for
  • } //fin void verification_joueur
  • /***********************************************************/
  • /* Efface les ronds et les replace dans le grand cadre */
  • /***********************************************************/
  • void EffaceEtRemetLesRonds(int tab_joueur[], int *ligne)
  • {
  • int i;
  • for(i=0;i<4;i++)
  • {
  • if(tab_joueur[i]==0)
  • {
  • setcolor(4); //Rond Rouge
  • setfillstyle(1,4);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • if(tab_joueur[i]==1)
  • {
  • setcolor(1); //Rond Bleu
  • setfillstyle(1,1);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • if(tab_joueur[i]==2)
  • {
  • setcolor(2); //Rond Vert
  • setfillstyle(1,2);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • if(tab_joueur[i]==3)
  • {
  • setcolor(14); //Rond Jaune
  • setfillstyle(1,14);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • if(tab_joueur[i]==4)
  • {
  • setcolor(15); //Rond Blanc
  • setfillstyle(1,15);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • if(tab_joueur[i]==5)
  • {
  • setcolor(3); //Rond Cyan
  • setfillstyle(1,3);
  • fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
  • setcolor(0);
  • setfillstyle(1,0);
  • fillellipse((i*60)+155,675,25,25);
  • }
  • delay(500);
  • }//fin boucle for
  • *ligne=*ligne+1;
  • } //fin void EffaceEtRemetLesRonds
  • /*************************************************************************/
  • /* Affiche les pions qui sont bien placés, et ceux qui sont présents */
  • /*************************************************************************/
  • void Affiche_Resultat(int PionsOK, int PionsDedans, int ligne)
  • {
  • ligne--;
  • if(PionsOK == 0) //Si aucun pion n'est bien placé
  • {
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(30,110+ligne*(50+5),"0");
  • }
  • else if(PionsOK == 1) //Si 1 pion est bien placé
  • {
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(30,110+ligne*(50+5),"1");
  • }
  • else if(PionsOK == 2) //Si 2 pions sont bien placés
  • {
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(30,110+ligne*(50+5),"2");
  • }
  • else if(PionsOK == 3) //Si 3 pions sont bien placés
  • {
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(30,110+ligne*(50+5),"3");
  • }
  • else if(PionsOK == 4) //Si les 4 pions sont bien placés
  • {
  • setcolor(15);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(20,110+ligne*(50+5),"4");
  • }
  • if(PionsDedans == 0) //Si aucun pion ne se trouve dans la combinaison
  • {
  • setcolor(6);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(90,110+ligne*(50+5),"0");
  • }
  • else if(PionsDedans == 1) //Si 1 pion est mal placé
  • {
  • setcolor(6);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(90,110+ligne*(50+5),"1");
  • }
  • else if(PionsDedans == 2) //Si 2 pions sont mal placés
  • {
  • setcolor(6);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(90,110+ligne*(50+5),"2");
  • }
  • else if(PionsDedans == 3) //Si 3 pions sont mal placés
  • {
  • setcolor(6);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(90,110+ligne*(50+5),"3");
  • }
  • else if(PionsDedans == 4) //Si les 4 pions sont mal placés
  • {
  • setcolor(6);
  • settextstyle(9,HORIZ_DIR,1);
  • outtextxy(90,110+ligne*(50+5),"4");
  • }
  • } //fin du void affiche_Resultat
  • /****************************************************/
  • /* Affiche la Combinaison dans le cadre du haut */
  • /****************************************************/
  • void Affiche_Combinaison(int tab_ordi[])
  • {
  • int i;
  • for(i=0;i<4;i++)
  • {
  • if(tab_ordi[i]==0)
  • {
  • setcolor(4); //Rond Rouge
  • setfillstyle(1,4);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • if(tab_ordi[i]==1)
  • {
  • setcolor(1); //Rond Bleu
  • setfillstyle(1,1);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • if(tab_ordi[i]==2)
  • {
  • setcolor(2); //Rond Vert
  • setfillstyle(1,2);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • if(tab_ordi[i]==3)
  • {
  • setcolor(14); //Rond Jaune
  • setfillstyle(1,14);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • if(tab_ordi[i]==4)
  • {
  • setcolor(15); //Rond Blanc
  • setfillstyle(1,15);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • if(tab_ordi[i]==5)
  • {
  • setcolor(3); //Rond Cyan
  • setfillstyle(1,3);
  • fillellipse((i*60)+155,40,25,25);
  • }
  • delay(500);
  • }//fin boucle for
  • } //fin void Affiche_Resultat
  • void win()
  • {
  • initwindow(320,300);
  • setcolor(4);
  • settextstyle(9,HORIZ_DIR,3);
  • outtextxy(100,50,"Bravo !!!");
  • outtextxy(80,100,"Tu as gagné");
  • outtextxy(15,200,"Tapes sur une touche");
  • outtextxy(55,250,"pour quitter");
  • while (!kbhit());
  • closegraph();
  • }
  • void lose()
  • {
  • initwindow(320,300);
  • setcolor(1);
  • settextstyle(9,HORIZ_DIR,3);
  • outtextxy(90,50,"Dommage");
  • outtextxy(80,100,"Tu as perdu");
  • outtextxy(15,200,"Tapes sur une touche");
  • outtextxy(55,250,"pour quitter");
  • while (!kbhit());
  • closegraph();
  • }
#include "winbgim.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

void InitWindow();
void combinaison_ordi(int *tab_ordi);
void choix_joueur(int *tab_joueur);
void verification_pions(int *tab_ordi, int *tab_joueur, int *PionsOK, int *PionsDedans);
void EffaceEtRemetLesRonds(int *tab_joueur, int *ligne);
void Affiche_Resultat(int PionsOK, int PionsDedans, int ligne);
void Affiche_Combinaison(int *tab_ordi);
void win();
void lose();

int main()
{
 int tab_ordi[4];
 int tab_joueur[4];
 int tmp[4];
 int PionsOK;
 int PionsDedans;
 int ligne;
 ligne=0;
 int i;
 InitWindow();
 combinaison_ordi(tab_ordi);
 do
  {
   choix_joueur(tab_joueur);
   for(i=0;i<4;i++)
     {
      tmp[i]= tab_ordi[i];
      }
   EffaceEtRemetLesRonds(tab_joueur, &ligne);
   verification_pions(tmp, tab_joueur, &PionsOK, &PionsDedans);
   Affiche_Resultat(PionsOK, PionsDedans, ligne);
   }  //fin boucle do
   while((PionsOK != 4)&&(ligne<10));
 Affiche_Combinaison(tab_ordi);
 delay(2500);
 closegraph();
 if(PionsOK == 4)
  {
   win();
   }
 else
  {
   lose();
   }
}  //fin main

void InitWindow()
{
 int a, b, test=0;
 initwindow(700,715);
 rectangle(120,10,370,70);
 rectangle(120,80,370,635);
 rectangle(120,645,370,705);
 settextstyle(5,HORIZ_DIR,4);
 outtextxy(450,50,"legende");
 setcolor(15);
 settextstyle(9,HORIZ_DIR,1);
 outtextxy(390,100,"Cliquer sur un des ronds");
 setcolor(15);
 outtextxy(410,130,"pour le faire afficher");
 setcolor(15);
 outtextxy(410,160,"dans le cadre du bas.");

 setcolor(4);          //Rond rouge
 setfillstyle(1,4);
 fillellipse(450,250,25,25);
 setcolor(1);          //Rond Bleu
 setfillstyle(1,1);
 fillellipse(515,250,25,25);
 setcolor(2);          //Rond Vert
 setfillstyle(1,2);
 fillellipse(580,250,25,25);
 setcolor(14);         //Rond Jaune
 setfillstyle(1,14);
 fillellipse(450,325,25,25);
 setcolor(15);         //Rond Blanc
 setfillstyle(1,15);
 fillellipse(515,325,25,25);
 setcolor(3);          //Rond Cyan
 setfillstyle(1,3);
 fillellipse(580,325,25,25);

 setcolor(6);
 rectangle(520,595,630,630);
 settextstyle(8,HORIZ_DIR,3);
 setcolor(5);
 outtextxy(525,600,"QUITTER");
}
      /********************************************************/
      /*   Determination de la combinaison par l'ordinateur    */
      /********************************************************/

void combinaison_ordi(int tab_ordi[])
{
 int i;
 srand(time( NULL ) ); //Pour mettre D valeurs aléatoires. Initialise le rand
 for (i=0;i<4;i++)     //boucle qui va éxécuter la commande 4 fois.
   {
    tab_ordi[i] = (int)(6*rand())/RAND_MAX; //Choisis un chiffre entre 1 et 6
    }                       //et le range dans un tableau.
} //fin void combinaison_ordi

       /*****************************************/
       /*   Choix du joueur dans les couleurs   */
       /*****************************************/

void choix_joueur(int tab_joueur[]) //fonction qui répond aux cliques du joueur
{
 int a;
 int b;
 int test;
 int j;
 j=1;
 do
  {
   while (!ismouseclick(WM_LBUTTONDOWN)) //reaction au clic gauche de la souris
    {
     delay(200);
     }        //fin while
 getmouseclick(WM_LBUTTONDOWN, a, b);
 if((b>=595)&&(b<=630)&&(a>=520)&&(a<=630))
  {
   test=1;
   closegraph();
   exit(0);
  }    //fin boucle si
 if((b>=225)&&(b<=275)&&(a>=425)&&(a<=475))
  {
   setcolor(4);
   setfillstyle(1,4);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=0;
   j++;
  }    //fin boucle si rond rouge
 if((b>=225)&&(b<=275)&&(a>=490)&&(a<=540))
  {
   setcolor(1);
   setfillstyle(1,1);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=1;
   j++;
   }    //fin boucle si rond bleu
 if((b>=225)&&(b<=275)&&(a>=555)&&(a<=605))
  {
   setcolor(2);
   setfillstyle(1,2);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=2;
   j++;
   }   //fin boucle si rond vert
 if((b>=300)&&(b<=350)&&(a>=425)&&(a<=475))
  {
   setcolor(14);
   setfillstyle(1,14);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=3;
   j++;
  }    //fin boucle si rond jaune
 if((b>=300)&&(b<=350)&&(a>=490)&&(a<=540))
  {
   setcolor(15);
   setfillstyle(1,15);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=4;
   j++;
  }    //fin boucle si rond blanc
 if((b>=300)&&(b<=350)&&(a>=555)&&(a<=605))
  {
   setcolor(3);
   setfillstyle(1,3);
   fillellipse((j*60)+95,675,25,25);
   tab_joueur[j-1]=5;
   j++ ;
  }    //fin boucle si rond cyan
 }  //fin boucle do
 while(j<=4);
 printf("coord : (%d, %d)\n", a, b);
}  //fin void choix_joueurs

          /************************************************/
          /*   Verification de la combinaison du joueur   */
          /************************************************/

void verification_pions(int *tab_ordi, int *tab_joueur, int *PionsOK, int *PionsDedans)
{
 int i;
 int j;
 *PionsOK = 0;
 *PionsDedans = 0;
 for (i=0;i<4;i++)         //boucle qui scanne les pions bien placés
  {
   if(tab_joueur[i] == tab_ordi[i])
    {
     *PionsOK = *PionsOK+1;
     tab_ordi[i] = -1;
     tab_joueur[i] = -2;
     }    //fin boucle if
   }  //fin boucle for
 for (i=0;i<4;i++)
  {
   for (j=0;j<4;j++)
    {
     if((i != j)&&(tab_joueur[i] == tab_ordi[j]))
      {
       *PionsDedans = *PionsDedans+1;
       tab_joueur[i] = -2;
       tab_ordi[j] = -1;
       }  //fin 1ere boucle if
     }  //fin 2eme boucle for
   }  //fin 1ere boucle for
}  //fin void verification_joueur

      /***********************************************************/
      /*   Efface les ronds et les replace dans le grand cadre   */
      /***********************************************************/

void EffaceEtRemetLesRonds(int tab_joueur[], int *ligne)
{
 int i;
 for(i=0;i<4;i++)
  {
   if(tab_joueur[i]==0)
    {
     setcolor(4);          //Rond Rouge
     setfillstyle(1,4);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   if(tab_joueur[i]==1)
    {
     setcolor(1);          //Rond Bleu
     setfillstyle(1,1);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   if(tab_joueur[i]==2)
    {
     setcolor(2);          //Rond Vert
     setfillstyle(1,2);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   if(tab_joueur[i]==3)
    {
     setcolor(14);         //Rond Jaune
     setfillstyle(1,14);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   if(tab_joueur[i]==4)
    {
     setcolor(15);         //Rond Blanc
     setfillstyle(1,15);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   if(tab_joueur[i]==5)
    {
     setcolor(3);          //Rond Cyan
     setfillstyle(1,3);
     fillellipse((i*60)+155,110+((*ligne)*(50+5)),25,25);
     setcolor(0);
     setfillstyle(1,0);
     fillellipse((i*60)+155,675,25,25);
     }
   delay(500);
  }//fin boucle for
 *ligne=*ligne+1;
} //fin void EffaceEtRemetLesRonds

  /*************************************************************************/
  /*   Affiche les pions qui sont bien placés, et ceux qui sont présents   */
  /*************************************************************************/

void Affiche_Resultat(int PionsOK, int PionsDedans, int ligne)
{
 ligne--;
 if(PionsOK == 0)            //Si aucun pion n'est bien placé
  {
   setcolor(15);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(30,110+ligne*(50+5),"0");
   }
 else if(PionsOK == 1)       //Si 1 pion est bien placé
  {
   setcolor(15);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(30,110+ligne*(50+5),"1");
   }
 else if(PionsOK == 2)       //Si 2 pions sont bien placés
  {
   setcolor(15);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(30,110+ligne*(50+5),"2");
   }
 else if(PionsOK == 3)       //Si 3 pions sont bien placés
  {
   setcolor(15);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(30,110+ligne*(50+5),"3");
   }
 else if(PionsOK == 4)       //Si les 4 pions sont bien placés
  {
   setcolor(15);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(20,110+ligne*(50+5),"4");
   }
 if(PionsDedans == 0)        //Si aucun pion ne se trouve dans la combinaison
  {
   setcolor(6);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(90,110+ligne*(50+5),"0");
   }
 else if(PionsDedans == 1)   //Si 1 pion est mal placé
  {
   setcolor(6);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(90,110+ligne*(50+5),"1");
   }
else if(PionsDedans == 2)    //Si 2 pions sont mal placés
  {
   setcolor(6);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(90,110+ligne*(50+5),"2");
   }
 else if(PionsDedans == 3)   //Si 3 pions sont mal placés
  {
   setcolor(6);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(90,110+ligne*(50+5),"3");
   }
 else if(PionsDedans == 4)   //Si les 4 pions sont mal placés
  {
   setcolor(6);
   settextstyle(9,HORIZ_DIR,1);
   outtextxy(90,110+ligne*(50+5),"4");
   }
} //fin du void affiche_Resultat

       /****************************************************/
       /*   Affiche la Combinaison dans le cadre du haut   */
       /****************************************************/

void Affiche_Combinaison(int tab_ordi[])
{
 int i;
 for(i=0;i<4;i++)
  {
   if(tab_ordi[i]==0)
    {
     setcolor(4);          //Rond Rouge
     setfillstyle(1,4);
     fillellipse((i*60)+155,40,25,25);
     }
   if(tab_ordi[i]==1)
    {
     setcolor(1);          //Rond Bleu
     setfillstyle(1,1);
     fillellipse((i*60)+155,40,25,25);
     }
   if(tab_ordi[i]==2)
    {
     setcolor(2);          //Rond Vert
     setfillstyle(1,2);
     fillellipse((i*60)+155,40,25,25);
     }
   if(tab_ordi[i]==3)
    {
     setcolor(14);         //Rond Jaune
     setfillstyle(1,14);
     fillellipse((i*60)+155,40,25,25);
     }
   if(tab_ordi[i]==4)
    {
     setcolor(15);         //Rond Blanc
     setfillstyle(1,15);
     fillellipse((i*60)+155,40,25,25);
     }
   if(tab_ordi[i]==5)
    {
     setcolor(3);          //Rond Cyan
     setfillstyle(1,3);
     fillellipse((i*60)+155,40,25,25);
     }
   delay(500);
  }//fin boucle for
}  //fin void Affiche_Resultat

void win()
{
 initwindow(320,300);
 setcolor(4);
 settextstyle(9,HORIZ_DIR,3);
 outtextxy(100,50,"Bravo !!!");
 outtextxy(80,100,"Tu as gagné");
 outtextxy(15,200,"Tapes sur une touche");
 outtextxy(55,250,"pour quitter");
 while (!kbhit());
 closegraph();
}
void lose()
{
 initwindow(320,300);
 setcolor(1);
 settextstyle(9,HORIZ_DIR,3);
 outtextxy(90,50,"Dommage");
 outtextxy(80,100,"Tu as perdu");
 outtextxy(15,200,"Tapes sur une touche");
 outtextxy(55,250,"pour quitter");
 while (!kbhit());
 closegraph();
} 

 Conclusion

Pour regarder ce qui est possible de faire avec la bibliothèque "winbgim" le site "http://www.cs.colorado.edu/~main/bgi" peut vous donner les renseignements adéquat.

Si vous rencontrer des problèmes, il se peut qu'il faille mettre en commentaire de la ligne 58 à la 62 dans le code de "winbgim.h"  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Documents and Settings
    •   simon
      •   Mes documents
        •   Mes sites Web
          •   Philippe
            •   Utlitaires
              •   DevC++

Télécharger le zip


 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 kjus le 08/05/2002 11:16:34

le site que tu indique avec les explications de la bibliotèque en question ne marche pas (lien mort..)

Commentaire de Perceval le 10/05/2002 15:42:00

Bah si.... l'adresse est bonne...  "http://www.cs.colorado.edu/~main/bgi/"
Il ne faut pas oublier le ~ avant le main....

Sinon, pour ceux qui pensent qu'il peut largement être optimisé, leur commentaires sont les bienvenus...

Commentaire de Mike le 09/10/2002 09:17:35

tu pourrait utiliser les switch ( ça fé plus propre que t centaine de if elsif ) lol, sinon ton prog est trés bien lol, c juste histoire de critiquer un peu !! lol

Commentaire de Perceval le 09/10/2002 23:12:16

Merci de ton commentaire Mike... C clair que mettre des switch optimiserait le prog... J'y avais songé, mais vu que j'ai fait ca comme ca... je ne m'en suis pas servi. Mais merci de t'être attardé sur mes centaines de if else if.... ;o))
Allez, @++++

 Ajouter un commentaire




Nos sponsors


Sondage...

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,390 sec (4)

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