.::mastermind[dev c++]::.

Description

Un mastermind en DOS, qui utilise beaucoup les couleurs et les caractères ASCII.

Source / Exemple :


#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.c>
#include <time.h>
#include "mastermind.h"

char c;
int i;
int j;
int a;
int choix[10];
int choix_ordi[10];
int pox;
int poy = 5;
int couleur;
int blanc = 0;
int rouge = 0;
int coup = 0;

void pion();
void resultat();
void init();
void annonce();
void gagne();
void perd();
void couleur_pion();
void recommence();

int main()
{
  srand( (unsigned)time( NULL ) );
  init();
}
void init()
{
  srand( (unsigned)time( NULL ) );
  choix_ordi[1] = (rand() % 6) + 1;
  choix_ordi[2] = (rand() % 6) + 1;
  choix_ordi[3] = (rand() % 6) + 1;
  choix_ordi[4] = (rand() % 6) + 1;
  gotoxy(35, 1);
  mast_txtcolor_hasard("M");
  mast_txtcolor_hasard("A");
  mast_txtcolor_hasard("S");
  mast_txtcolor_hasard("T");
  mast_txtcolor_hasard("E");
  mast_txtcolor_hasard("R");
  mast_txtcolor_hasard("M");
  mast_txtcolor_hasard("I");
  mast_txtcolor_hasard("N");
  mast_txtcolor_hasard("D");
  gotoxy(1, 5);
  mast_txtcolor ("o : 1\n", RED);
  mast_txtcolor ("o : 2\n", BLUE);
  mast_txtcolor ("o : 3\n", GREEN);
  mast_txtcolor ("o : 4\n", YELLOW);
  mast_txtcolor ("o : 5\n", CYAN);
  mast_txtcolor ("o : 6\n", WHITE);
  gotoxy(1, 20);
  textcolor(BLUE);
  texte_repet("Í", 15);
  caractere(187);
  caractere_repetlm(186, 6, 15, 21);
  gotoxy(1, 21);
  caractere_repet(177, 15);
  cout << "\n";
  caractere_repet(177, 15);
  cout << "\n";
  caractere_repet(177, 15);
  cout << "\n";
  caractere_repet(177, 15);
  cout << "\n";
  caractere_repet(177, 15);
  textcolor(RED);
  gotoxy(1, 21);
  caractere(16);
  cout << "VOTRE CHOIX: ";

  a = 0;
  textcolor(BROWN);
  while (a <= 16)
  {
    gotoxy(30, 5 + a);
    caractere_repet(176, 20);
    a++;
  }

  textcolor(GREEN);
  pion();
  getch();
}

void pion()
{
  i = 1;
  pox = 33;
  poy = poy + 2;
  coup++;
  gotoxy(50, 21);
  textcolor(YELLOW);
  cout << "COUP N " << coup;
  while (i != 5)
  {
    textcolor(CYAN);
    gotoxy(60, 1);
    cout << "CHOIX N " << i;
    gotoxy(1, 22);
    cin >> choix[i];
    gotoxy(pox, poy);
    couleur_pion();
    i++;
    textcolor(couleur);
    cout << "o";
    pox = pox + 4;
  }
  resultat();
}

void couleur_pion()
{
    if (choix[i] == 1)
    {
      couleur = RED;
    }
    if (choix[i] == 2)
    {
      couleur = BLUE;
    }
    if (choix[i] == 3)
    {
      couleur = GREEN;
    }
    if (choix[i] == 4)
    {
      couleur = YELLOW;
    }
    if (choix[i] == 5)
    {
      couleur = CYAN;
    }
    if (choix[i] == 6)
    {
      couleur = WHITE;
    }
}

void resultat()
{

  blanc = 0;
  rouge = 0;
  for (j = 1; j <= 6; j++)
  {
   int nbcolchoix = 0;
   int nbcolordi = 0;

    for (i = 1; i <= 4; i++)
    {
      if (choix[i] == j)
      {
        nbcolchoix++;
      }
      if (choix_ordi[i] == j)
      {
        nbcolordi++;
      }
     }
      if (nbcolchoix <= nbcolordi)
      {
        blanc = blanc + nbcolchoix;
      }
      else
      {
        blanc = blanc + nbcolordi;
      }
  }
    j = 1;
    i = 1;
    while (j != 5)
    {
     /* while (i != 5)
      {
        if (choix[j] == choix_ordi[i])
        {
          if (i == j)
          {
            rouge++;
          }
        }
        i++;
      }
      i = 1;
      j++;  */
          if (choix[j] == choix_ordi[j])
         {
            rouge++;
          }
             j++;
    }
  blanc = blanc - rouge;
  annonce();

}

void annonce()
{
  gotoxy(60, poy);
  textcolor(RED);
  cout << rouge;
  textcolor(WHITE);
  cout << "  " << blanc;
  if (rouge == 4)
  {
    gagne();
  }
  else if (coup == 6)
  {
    perd();
  }
  else
  {
    rouge = 0;
    blanc = 0;
    pion();
  }
}

void gagne()
{
  poy = 5;
  coup = 0;
  gotoxy(37, 23);
  mast_txtcolor_hasard ("G");
  mast_txtcolor_hasard ("A");
  mast_txtcolor_hasard ("G");
  mast_txtcolor_hasard ("N");
  mast_txtcolor_hasard ("E");
  mast_txtcolor_hasard ("!");
  i = 1;
  pox = 33;
  while (i != 5)
  {
    choix[i] = choix_ordi[i];
    gotoxy(pox, 20);
    couleur_pion();
    textcolor(couleur);
    cout << "o";
    i++;
    pox = pox + 4;
  }
getch();
recommence();
}

void perd()
{
rouge = 0;
  blanc = 0;
  poy = 5;
  coup = 0;
  gotoxy(37, 23);
  mast_txtcolor_hasard ("P");
  mast_txtcolor_hasard ("E");
  mast_txtcolor_hasard ("R");
  mast_txtcolor_hasard ("D");
  mast_txtcolor_hasard ("U");
  mast_txtcolor_hasard ("!");
  i = 1;
  pox = 33;
  while (i != 5)
  {
    choix[i] = choix_ordi[i];
    gotoxy(pox, 20);
    couleur_pion();
    textcolor(couleur);
    cout << "o";
    i++;
    pox = pox + 4;
  }
getch();
recommence();
}

void recommence()
{
  if (MessageBox (NULL, "Voulez vous recommencer???" , "************MASTERMIND************", 0 + MB_YESNO + MB_ICONQUESTION) == 6)
  {
    cout << "\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\n\n\n\n\n\n\n\n\n\n";
    init();
  }
  else
  {
MessageBox (NULL, "Venez vite rejoindre mon projet : Sim City 2002.
Le jeu sera en DOS, et fera au moins 2000-3000 lignes.
Bon, je vous laisse!" , "***************Moment de Pub...*************", 0 + MB_ICONASTERISK);    
exit(0);
  }
}

Conclusion :


RIEN

Codes Sources

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.