[borland c++] morpion

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 335 fois - Téléchargée 42 fois

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

Ajouter un commentaire Commentaires
Messages postés
33
Date d'inscription
mardi 10 octobre 2000
Statut
Membre
Dernière intervention
27 mai 2004

uiooooooop,
Tu m'as fait rire toi, cependant, tu as entièrement raison mais à l'époque que j'avais fait ça, j'y avais pas pensé.
Messages postés
14
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
1 juin 2005

yep gars,
heu un ptit conseil dans la déclaration de tes varialbes tu nommes une variable "case" mais "case" est un nom réservé en C++ on l'utilise avec un "Switch case" donc ton prog ne tourne pas sous C++ donc rajoute un "s" à tous les "case"...allez bonne continuation...

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.