[borland c++] morpion

Contenu du snippet

Morpion comme tout le monde le connais.
Il faut le compiler en mode DOS sinon les contours de mon tableau ne marche pas.
De plus il faut le pavé numérique pour jouer.

Source / Exemple :


#include <iostream.h>
#include <conio.h>

char morp[7][7]={{"ÉÍËÍËÍ»"},{"º º º º"},{"ÌÍÎÍÎ͹"},{"º º º º"},{"ÌÍÎÍÎ͹"},{"º º º º"},{"ÈÍÊÍÊͼ"}};
int Ligne=0, Colonne=0, Joueur, cpt1, cpt2, cpt3, Fin, Case;

void main (void)
{
Joueur=0;
do
{
	//Affichage du tableau.
   cpt3=7;
	for (cpt1=0 ; cpt1<7 ; cpt1++) //Scanne les lignes.
	{
      gotoxy(35, cpt3);
      for (cpt2=0 ; cpt2<7 ; cpt2++)  //Scanne les colonnes.
      {
			cout << morp[cpt1][cpt2];
      }
      cout << endl;
      cpt3=cpt3+1;
	}
	cout << endl;

	do
	{
		//Vérifie le joueur pair.
   	if (Joueur==0 || Joueur==2 || Joueur==4 || Joueur==6 || Joueur==8)
   	{
   		gotoxy(1, 15);
   		cout << "Joueur 1" << endl;
   	}
   	//Vérifie le joueur impair.
   	else
   	{
   		//gotoxy(1, 15);
      	cout << "Joueur 2" << endl;
   	}
   	do
   	{
   		cout << "Veuillez entrer une case : ";
      	cin >> Case;
         if (Case==1)
         {
				Ligne=5;
            Colonne=1;
         }
        	if (Case==2)
        	{
	 			Ligne=5;
            Colonne=3;
        	}
       	if (Case==3)
        	{
				Ligne=5;
            Colonne=5;
        	}
         if (Case==4)
         {
				Ligne=3;
            Colonne=1;
         }
         if (Case==5)
         {
				Ligne=3;
            Colonne=3;
         }
         if (Case==6)
         {
				Ligne=3;
            Colonne=5;
         }
         if (Case==7)
         {
				Ligne=1;
            Colonne=1;
         }
         if (Case==8)
         {
				Ligne=1;
            Colonne=3;
         }
         if (Case==9)
         {
				Ligne=1;
            Colonne=5;
         }
   	}
   	while (Case>9);

		//Vérifie s'il n'y a rien dans la case demandée
   	if (morp[Ligne][Colonne]==' ')
   	{
      	if (Joueur==0 || Joueur==2 || Joueur==4 || Joueur==6 || Joueur==8)
      	{
   			morp[Ligne][Colonne]='x';    //et met une croix dans cette case.
      		clrscr();
   		}
   		if (Joueur==1 || Joueur==3 || Joueur==5 || Joueur==7)
   		{
   			morp[Ligne][Colonne]='o';   //et met un rond dans cette case.
   			clrscr();
   		}
         Joueur=Joueur+1;   //Changement de joueur.
      }
      else //Sinon affiche le message et recommence la saisie.
      {
      	cout << "Cette case est deja prise.";
      }
	}
	while (morp[Ligne][Colonne]!='x' && morp[Ligne][Colonne]!='o');

   //Vérifie si des lignes sont faites.
   if (morp[1][1]=='x' && morp[1][3]=='x' && morp[1][5]=='x' || morp[3][1]=='x' && morp[3][3]=='x' && morp[3][5]=='x' || morp[5][1]=='x' && morp[5][3]=='x' && morp[5][5]=='x' || morp[1][1]=='x' && morp[3][1]=='x' && morp[5][1]=='x' || morp[1][3]=='x' && morp[3][3]=='x' && morp[5][3]=='x' || morp[1][5]=='x' && morp[3][5]=='x' && morp[5][5]=='x' || morp[1][1]=='x' && morp[3][3]=='x' && morp[5][5]=='x' || morp[1][5]=='x' && morp[3][3]=='x' && morp[5][1]=='x')
	{
		cout << "Le joueur 1 a gagné. ";
   	Fin=1;
   }
   if (morp[1][1]=='o' && morp[1][3]=='o' && morp[1][5]=='o' || morp[3][1]=='o' && morp[3][3]=='o' && morp[3][5]=='o' || morp[5][1]=='o' && morp[5][3]=='o' && morp[5][5]=='o' || morp[1][1]=='o' && morp[3][1]=='o' && morp[5][1]=='o' || morp[1][3]=='o' && morp[3][3]=='o' && morp[5][3]=='o' || morp[1][5]=='o' && morp[3][5]=='o' && morp[5][5]=='o' || morp[1][1]=='o' && morp[3][3]=='o' && morp[5][5]=='o' || morp[1][5]=='o' && morp[3][3]=='o' && morp[5][1]=='o')
   {
		cout << "Le joueur 2 a gagné. ";
   	Fin=1;
   }
   //Vérifie si tableau remplie.
   if (morp[1][1]!=' ' && morp[1][3]!=' ' && morp[1][5]!=' ' && morp[3][1]!=' ' && morp[3][3]!=' ' && morp[3][5]!=' ' && morp[5][1]!=' ' && morp[5][3]!=' ' && morp[5][5]!=' ')
	{
   	cout << "La partie est terminée.";
   	Fin=1;
   }
}
while (Fin != 1);
}

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.