Echecs (visual c++)

Description

Voilà sans aucun doute le programme le plus long et le plus compliqué que j'ai jamais fait! C'est un jeu d'échecs pour deux. Seul petit problème: il ne gère pas l'échec et mat, et le déplacement du pion mérite quelques améliorations. Sinon, amusez-vous bien et n'oubliez pas de télécharger le ZIP.
NE FAITES SURTOUT PAS DE COPIER-COLLER!!!

Source / Exemple :


#include<iostream.h>
#include<stdio.h>

struct liste
{
	int t[40];
	int nb; //nombre de cases occupées dans chaque liste
};

struct joueur
{
	char nom[10];
	liste l,lp,lc,ld,lr,lf,lt,ltot;
	//lp est la liste des pions, lc la liste des cavaliers, ...
	//ltot regroupe toutes les listes
	//l sert de liste des coups possibles dans les fonctions
};

void presente(joueur &j1,joueur &j2)
{
	cout<<"Joueur 1, tape ton nom: ";cin>>j1.nom;
	cout<<"Joueur 2, tape ton nom: ";cin>>j2.nom;
}

int saisir()
{
	char t[5];
	int x,y;
	bool valid;
	do{
		valid=true;
		cout<<" case: ";
		cin>>t;
		if (!(t[0]>='A' && t[0]<='H')) valid=false;
		if (!(t[1]>='1' && t[1]<='8')) valid=false;
		//non valide si la case n'est pas comprise entre A1 et H8
		if (t[2]!='\0') valid=false;
		//ou s'il y a plus de 2 caractères tapés
		if (valid==false) cout<<"Case non valide!"<<endl;
	}while (valid==false);
	y=(t[1]-'1')*8;
	x=t[0]-'A';
	x=x+y;
	//on convertit la saisie en un entier compris entre 0 et 63
	return x;
}

void init_liste(liste &l)
{
	l.nb=0;
}

void ajoute(int i,liste &l)
//ajoute une case donnée à une liste donnée
{
	if (i>=0 && i<=63)
	{
		l.t[l.nb]=i;
		l.nb++;
	}
}

void supprime(int n,liste &l)
//supprime une case donnée d'une liste donnée
{
	int i,numero=l.nb;
	for (i=0;i<l.nb;i++)
	{
		if (n==l.t[i]) numero=i;
	}
	for (i=numero;i<l.nb;i++) l.t[i]=l.t[i+1];
	if (numero!=l.nb) l.nb--;
}

void aff_case(int n)
{
	if (n>=0 && n<=63)
	{
		int y;
		char x;
		y=n/8+1;
		x=n-8*(y-1)+65;
		cout<<x<<y;
	}
}

void affiche(liste l)
{
	int i;
	for (i=0;i<l.nb;i++)
	{
		aff_case(l.t[i]);
		cout<<" ";
	}
}

int test(int n,liste l)
//teste si une case donnée est dans une liste donnée
//renvoie l'indice de la case dans la liste si elle est trouvée
//renvoie -1 sinon
{
	int i;
	for (i=0;i<l.nb;i++)
	{
		if (l.t[i]==n) return i;
	}
	return -1;
}

int cavalier(joueur &j1,joueur &j2)
{
	int i,j,n,z=1;
	init_liste(j1.l);
	cout<<"Cavalier"<<endl;
	do{
		n=saisir();
		i=test(n,j1.lc);
		//la case saisie est-elle dans la liste des cavaliers?
		if (i<0) cout<<"Le cavalier n'existe pas!"<<endl;
	}while (i<0);

	int y,dir1,dir2,dir3,dir4,dir5,dir6,dir7,dir8;
	char x;
	//x est la lettre de la case, y son numéro
	//dir1, dir2, ... sont les différentes directions possibles
	dir1=n+17;dir2=n+10;dir3=n-6;dir4=n-15;
	dir5=n-17;dir6=n-10;dir7=n+6;dir8=n+15;
	y=n/8+1;x=n-8*(y-1)+65;
	if (x=='A') //si le cavalier est dans la colonne A, ...
	{dir5=dir5+80;dir6=dir6+80;dir7=dir7+80;dir8=dir8+80;}
	if (x=='B') //si le cavalier est dans la colonne B, ...
	{dir6=dir6+80;dir7=dir7+80;}
	if (x=='G') //...
	{dir2=dir2+80;dir3=dir3+80;}
	if (x=='H')
	{dir1=dir1+80;dir2=dir2+80;dir3=dir3+80;dir4=dir4+80;}
	if (y==1) //s'il est dans la ligne 1, ...
	{dir3=dir3+80;dir4=dir4+80;dir5=dir5+80;dir6=dir6+80;}
	if (y==2) //...
	{dir4=dir4+80;dir5=dir5+80;}
	if (y==7)
	{dir1=dir1+80;dir8=dir8+80;}
	if (y==8)
	{dir1=dir1+80;dir2=dir2+80;dir7=dir7+80;dir8=dir8+80;}
	
	ajoute(dir1,j1.l);ajoute(dir2,j1.l);ajoute(dir3,j1.l);ajoute(dir4,j1.l);
	ajoute(dir5,j1.l);ajoute(dir6,j1.l);ajoute(dir7,j1.l);ajoute(dir8,j1.l);
	//on ajoute les coups possibles à la liste l

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	//la case de destination est-elle un coup possible?
	if (j<0) z=0;
	else if (test(n,j1.ltot)>=0) z=0;
	//z=0 si le coup est impossible ou la case déjà prise par j1
	else j1.lc.t[i]=n;
	//sinon la case écrase la précédente dans la liste

	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	//si la cavalier prend une pièce de j2, on la supprime
	return z;
	//renvoie 1 si le coup a été effectué
	//renvoie 0 sinon
}

int dame(joueur &j1,joueur &j2)
{
	int i,j,k,n,r,z=1;
	init_liste(j1.l);
	cout<<"Dame"<<endl;
	do{
		n=saisir();
		i=test(n,j1.ld);
		if (i<0) cout<<"La dame n'existe pas!"<<endl;
	}while (i<0);

	int y,d1=n,d2=n,d3=n,d4=n,d5=n,d6=n,d7=n,d8=n;
	char x;
	y=n/8+1;x=n-8*(y-1)+65;
	while(y!=8){r=0;d1=d1+8;for(k=0;k<j1.ltot.nb;k++)if(d1==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d1==j2.ltot.t[k]){r=1;ajoute(d1,j1.l);}if(r==1)break;ajoute(d1,j1.l);y=d1/8+1;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(y!=8 && x!='H'){r=0;d2=d2+9;for(k=0;k<j1.ltot.nb;k++)if(d2==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d2==j2.ltot.t[k]){r=1;ajoute(d2,j1.l);}if(r==1)break;ajoute(d2,j1.l);y=d2/8+1;x=d2-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='H'){r=0;d3++;for(k=0;k<j1.ltot.nb;k++)if(d3==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d3==j2.ltot.t[k]){r=1;ajoute(d3,j1.l);}if(r==1)break;ajoute(d3,j1.l);y=d3/8+1;x=d3-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='H' && y!=1){r=0;d4=d4-7;for(k=0;k<j1.ltot.nb;k++)if(d4==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d4==j2.ltot.t[k]){r=1;ajoute(d4,j1.l);}if(r==1)break;ajoute(d4,j1.l);y=d4/8+1;x=d4-8*(y-1)+65;}
	y=n/8+1;
	while(y!=1){r=0;d5=d5-8;for(k=0;k<j1.ltot.nb;k++)if(d5==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d5==j2.ltot.t[k]){r=1;ajoute(d5,j1.l);}if(r==1)break;ajoute(d5,j1.l);y=d5/8+1;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A' && y!=1){r=0;d6=d6-9;for(k=0;k<j1.ltot.nb;k++)if(d6==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d6=j2.ltot.t[k]){r=1;ajoute(d6,j1.l);}if(r==1)break;ajoute(d6,j1.l);y=d6/8+1;x=d6-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A'){r=0;d7--;for(k=0;k<j1.ltot.nb;k++)if(d7==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d7==j2.ltot.t[k]){r=1;ajoute(d7,j1.l);}if(r==1)break;ajoute(d7,j1.l);y=d7/8+1;x=d7-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A' && y!=8){r=0;d8=d8+7;for(k=0;k<j1.ltot.nb;k++)if(d8==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d8==j2.ltot.t[k]){r=1;ajoute(d8,j1.l);}if(r==1)break;ajoute(d8,j1.l);y=d8/8+1;x=d8-8*(y-1)+65;}
	//pour chaque direction, on ajoute à la liste toutes les cases
	//jusqu'à ce qu'on rencontre une case occupée ou le bord du jeu

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	if (j<0) z=0;
	else j1.ld.t[i]=n;
	
	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	return z;
}

int roi(joueur &j1,joueur &j2)
{
	int i,j,n,z=1;
	init_liste(j1.l);
	cout<<"Roi"<<endl;
	do{
		n=saisir();
		i=test(n,j1.lr);
		if (i<0) cout<<"Le roi n'existe pas!"<<endl;
	}while (i<0);

	int y,d1,d2,d3,d4,d5,d6,d7,d8;
	char x;
	d1=n+8;d2=n+9;d3=n+1;d4=n-7;
	d5=n-8;d6=n-9;d7=n-1;d8=n+7;
	y=n/8+1;x=n-8*(y-1)+65;
	if (x=='A')
	{d6=d6+80;d7=d7+80;d8=d8+80;}
	if (x=='H')
	{d2=d2+80;d3=d3+80;d4=d4+80;}
	if (y==1)
	{d4=d4+80;d5=d5+80;d6=d6+80;}
	if (y==8)
	{d1=d1+80;d2=d2+80;d8=d8+80;}

	ajoute(d1,j1.l);ajoute(d2,j1.l);
	ajoute(d3,j1.l);ajoute(d4,j1.l);
	ajoute(d5,j1.l);ajoute(d6,j1.l);
	ajoute(d7,j1.l);ajoute(d8,j1.l);

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	if (j<0) z=0;
	else if (test(n,j1.ltot)>=0) z=0;
	else j1.lr.t[i]=n;

	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	return z;
}

int fou(joueur &j1,joueur &j2)
{
	int i,j,n,r,k,z=1;
	init_liste(j1.l);
	cout<<"Fou"<<endl;
	do{
		n=saisir();
		i=test(n,j1.lf);
		if (i<0) cout<<"Le fou n'existe pas!"<<endl;
	}while (i<0);

	int y,d1=n,d2=n,d3=n,d4=n;
	char x;
	y=n/8+1;x=n-8*(y-1)+65;
	while(y!=8 && x!='H'){r=0;d1=d1+9;for(k=0;k<j1.ltot.nb;k++)if(d1==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d1==j2.ltot.t[k]){r=1;ajoute(d1,j1.l);}if(r==1)break;ajoute(d1,j1.l);y=d1/8+1;x=d1-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='H' && y!=1){r=0;d2=d2-7;for(k=0;k<j1.ltot.nb;k++)if(d2==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d2==j2.ltot.t[k]){r=1;ajoute(d2,j1.l);}if(r==1)break;ajoute(d2,j1.l);y=d2/8+1;x=d2-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A' && y!=1){r=0;d3=d3-9;for(k=0;k<j1.ltot.nb;k++)if(d3==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d3==j2.ltot.t[k]){r=1;ajoute(d3,j1.l);}if(r==1)break;ajoute(d3,j1.l);y=d3/8+1;x=d3-8*(y-1)+65;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A' && y!=8){r=0;d4=d4+7;for(k=0;k<j1.ltot.nb;k++)if(d4==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d4==j2.ltot.t[k]){r=1;ajoute(d4,j1.l);}if(r==1)break;ajoute(d4,j1.l);y=d4/8+1;x=d4-8*(y-1)+65;}

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	if (j<0) z=0;
	else j1.lf.t[i]=n;

	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	return z;
}

int tour(joueur &j1,joueur &j2)
{
	int i,j,n,r,k,z=1;
	init_liste(j1.l);
	cout<<"Tour"<<endl;
	do{
		n=saisir();
		i=test(n,j1.lt);
		if (i<0) cout<<"La tour n'existe pas!"<<endl;
	}while (i<0);

	int y,d1=n,d2=n,d3=n,d4=n;
	char x;
	y=n/8+1;x=n-8*(y-1)+65;
	while(y!=8){r=0;d1=d1+8;for(k=0;k<j1.ltot.nb;k++)if(d1==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d1==j2.ltot.t[k]){r=1;ajoute(d1,j1.l);}if(r==1)break;ajoute(d1,j1.l);y=d1/8+1;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='H'){r=0;d2++;for(k=0;k<j1.ltot.nb;k++)if(d2==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d2==j2.ltot.t[k]){r=1;ajoute(d2,j1.l);}if(r==1)break;ajoute(d2,j1.l);y=d2/8+1;x=d2-8*(y-1)+65;}
	y=n/8+1;
	while(y!=1){r=0;d3=d3-8;for(k=0;k<j1.ltot.nb;k++)if(d3==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d3==j2.ltot.t[k]){r=1;ajoute(d3,j1.l);}if(r==1)break;ajoute(d3,j1.l);y=d3/8+1;}
	y=n/8+1;x=n-8*(y-1)+65;
	while(x!='A'){r=0;d4--;for(k=0;k<j1.ltot.nb;k++)if(d4==j1.ltot.t[k])r=1;for(k=0;k<j2.ltot.nb;k++)if(d4==j2.ltot.t[k]){r=1;ajoute(d4,j1.l);}if(r==1)break;ajoute(d4,j1.l);y=d4/8+1;x=d4-8*(y-1)+65;}

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	if (j<0) z=0;
	else j1.lt.t[i]=n;

	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	return z;
}

int pion(joueur &j1,joueur &j2)
{
	int i,j,n,z=1;
	init_liste(j1.l);
	cout<<"Pion"<<endl;
	do{
		n=saisir();
		i=test(n,j1.lp);
		if (i<0) cout<<"Le pion n'existe pas!"<<endl;
	}while (i<0);

	int y,d1;
	y=n/8+1;
	d1=n+8;ajoute(d1,j1.l);
	if (y==2) {d1=d1+8;ajoute(d1,j1.l);}
	d1=n-8;ajoute(d1,j1.l);
	if (y==7) {d1=d1-8;ajoute(d1,j1.l);}
	d1=n+9;ajoute(d1,j1.l);
	d1=n-9;ajoute(d1,j1.l);
	d1=n+7;ajoute(d1,j1.l);
	d1=n-7;ajoute(d1,j1.l);

	cout<<" vers la";
	n=saisir();
	j=test(n,j1.l);
	if (j<0) z=0;
	else if (test(n,j1.ltot)>=0) z=0;
	else j1.lp.t[i]=n;

	for (i=0;i<j2.ltot.nb;i++) if (n==j2.ltot.t[i] && z==1)
	{
		supprime(n,j2.lp);supprime(n,j2.lc);supprime(n,j2.ld);
		supprime(n,j2.lr);supprime(n,j2.lf);supprime(n,j2.lt);
	}
	return z;
}

void initializ(joueur &j1,joueur &j2)
//initialise les listes de pièces
{
	int i;
	j1.lp.nb=8;j1.lc.nb=2;j1.ld.nb=1;j1.lr.nb=1;j1.lf.nb=2;j1.lt.nb=2;
	j2.lp.nb=8;j2.lc.nb=2;j2.ld.nb=1;j2.lr.nb=1;j2.lf.nb=2;j2.lt.nb=2;
	j1.ld.t[0]=4;j2.ld.t[0]=60;
	j1.lr.t[0]=3;j2.lr.t[0]=59;
	j1.lc.t[0]=1;j1.lc.t[1]=6;j2.lc.t[0]=57;j2.lc.t[1]=62;
	j1.lf.t[0]=2;j1.lf.t[1]=5;j2.lf.t[0]=58;j2.lf.t[1]=61;
	j1.lt.t[0]=0;j1.lt.t[1]=7;j2.lt.t[0]=56;j2.lt.t[1]=63;
	for (i=0;i<8;i++) j1.lp.t[i]=i+8;
	for (i=0;i<8;i++) j2.lp.t[i]=i+48;
}

void totaliz(joueur &j1)
//regroupe toutes les listes de pièces dans la liste ltot du joueur
{
	int i,j=0;
	for (i=0;i<j1.lp.nb;i++) {j1.ltot.t[j]=j1.lp.t[i];j++;}
	for (i=0;i<j1.lc.nb;i++) {j1.ltot.t[j]=j1.lc.t[i];j++;}
	for (i=0;i<j1.ld.nb;i++) {j1.ltot.t[j]=j1.ld.t[i];j++;}
	for (i=0;i<j1.lr.nb;i++) {j1.ltot.t[j]=j1.lr.t[i];j++;}
	for (i=0;i<j1.lf.nb;i++) {j1.ltot.t[j]=j1.lf.t[i];j++;}
	for (i=0;i<j1.lt.nb;i++) {j1.ltot.t[j]=j1.lt.t[i];j++;}
	j1.ltot.nb=j;
}

int choix_menu()
{
	int n;
	cout<<endl;
	cout<<"Choisis ton coup!\n";
	cout<<"1. coup de cavalier\n";
	cout<<"2. coup de dame\n";
	cout<<"3. coup de roi\n";
	cout<<"4. coup de fou\n";
	cout<<"5. coup de tour\n";
	cout<<"6. coup de pion\n";
	cout<<"7. quitter\n";
	cout<<"Ton choix: ";cin>>n;
	cout<<endl;
	return n;
}

void echiquier(joueur j1,joueur j2)
{
	int i,k,x,r;
	char j;
	cout<<" ________________________________________________"<<endl;
	for (i=8;i>0;i--) //boucle parcourant les lignes
	{
		cout<<"\xB3     \xB3     \xB3     \xB3     \xB3     \xB3     \xB3     \xB3     \xB3"<<endl;
		
		for (j='A';j<='H';j++) //boucle parcourant les colonnes
		{
			r=0;
			x=(j-'A')+(i-1)*8; //x prend la valeur de la case
			cout<<"\xB3  ";
			for(k=0;k<16;k++)
			{
				if (j1.lp.t[k]==x) {cout<<".";r=1;break;}
				if (j1.lc.t[k]==x) {cout<<"\x06";r=1;break;}
				if (j1.ld.t[k]==x) {cout<<"\x03";r=1;break;}
				if (j1.lr.t[k]==x) {cout<<"\x02";r=1;break;}
				if (j1.lf.t[k]==x) {cout<<"\x05";r=1;break;}
				if (j1.lt.t[k]==x) {cout<<"\x04";r=1;break;}

				if (j2.lp.t[k]==x) {cout<<"p";r=1;break;}
				if (j2.lc.t[k]==x) {cout<<"c";r=1;break;}
				if (j2.ld.t[k]==x) {cout<<"d";r=1;break;}
				if (j2.lr.t[k]==x) {cout<<"\x01";r=1;break;}
				if (j2.lf.t[k]==x) {cout<<"f";r=1;break;}
				if (j2.lt.t[k]==x) {cout<<"t";r=1;break;}
			}
			if (r==0) cout<<" "; //s'il n'y a rien dans cette case...
			cout<<"  ";
		}
		cout<<"\xB3"<<i<<endl;
		cout<<"\xB3_____\xB3_____\xB3_____\xB3_____\xB3_____\xB3_____\xB3_____\xB3_____\xB3"<<endl;
	}
	cout<<"   A     B     C     D     E     F     G     H"<<endl;
	getc(stdin); //attend la frappe de la touche ENTREE
}

void menu(joueur j1,joueur j2)
{
	int choix,coup=0,j,z=1;
	//coup est le numéro du coup à jouer
	//j est le numéro du joueur dont c'est le tour de jouer
	initializ(j1,j2);
	do
	{
		echiquier(j1,j2);

		if (z==1) coup++;
		//on passe au coup suivant que si le coup précédent
		//a été effectué (z=1)
		if (coup%2==1) {cout<<"A toi "<<j1.nom<<"!"<<endl;j=1;}
		else {cout<<"A toi "<<j2.nom<<"!"<<endl;j=2;}

		totaliz(j1); //on met à jour les listes totales
		totaliz(j2); //des deux joueurs

		choix=choix_menu();
		switch (choix)
		{
		case 1: 
			if (j==1) z=cavalier(j1,j2);
			else z=cavalier(j2,j1);
			break;
		case 2: 
			if (j==1) z=dame(j1,j2);
			else z=dame(j2,j1);
			break;
		case 3: 
			if (j==1) z=roi(j1,j2);
			else z=roi(j2,j1);
			break;
		case 4:
			if (j==1) z=fou(j1,j2);
			else z=fou(j2,j1);
			break;
		case 5:
			if (j==1) z=tour(j1,j2);
			else z=tour(j2,j1);
			break;
		case 6:
			if (j==1) z=pion(j1,j2);
			else z=pion(j2,j1);
			break;
		}
	}while (choix!=7);
}

void main()
{
	joueur j1,j2;
	cout<<"Bienvenue dans mon jeu d'echecs pour deux\n\n";
	presente(j1,j2);
	cout<<endl;
	menu(j1,j2);
}

Conclusion :


Et pour la promotion de mon futur site (ouverture prévue fin avril 2002)...
http://lambda.man.free.fr
Merci beaucoup!!!!

Codes Sources

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.