01net    Web


Actuellement en ligne : 131 Utilisateurs dont 12 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> jeu d'echec
Auteur
Message
 
<     1       >
cohannon
  
   
      ?   @     Posté le 06/12/2006 10:28:55  
Voter pour ce message
Bonjour,
J'ai fait un jeu d'echec en language C.
Il fonctionne très bien mais j'ai un souci: la tour et le fou n'avancent que d'une seule case...
Je n'arrive pas à les faire bouger de plusieurs cases...
Si vous voyez une erreur flagrante, merci de m'aider :)
voici la fonction Fou et la fonction Tour:

void tour (char tab[8][8],int i,int j,int I,int J, int cible)
{
int k;
if ( (I==i)&&(j+1<J))
{ for(k=j+2;k=J;k++)
{ if (tab[k-1]!=0) {cible=0;}}
if (cible==1) { (tab[I][J]=tab[j]) ; (tab[j]=0);}
}
else { if ((I==i)&&(J==j+1)){ (tab[I][J]=tab[j]) ; (tab[j]=0);}


else { if ( (I==i)&&(j-1>J))
{ for(k= J;k=j-2;k++)
{ if (tab[k+1]=!0) {cible=0;}};
if (cible==1) {tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ((I==i)&&(J==j-1)){tab[I][J]=tab[j]; tab[j]=0;}


else { if ( (J == j)&&( i +1< I))
{ for(k=i+2;k=I;k++)
{ if (tab[k-1][j]!=0) {cible=0;} }
if (cible==1) {tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ((J == j)&&( I == i +1)){tab[I][J]=tab[j]; tab[j]=0;}


else { if ( (J == j)&&( i -1> I))
{ for(k= I;k=i-2;k++)
{ if (tab[k+1][j]!=0) {cible=0;} }
if (cible==1) { tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ((J == j)&&( I == i -1)){ tab[I][J]=tab[j]; tab[j]=0;}

else {cible=0;} }}}}}}}


}















void fou (char tab[8][8] ,int i,int j,int I,int J, int cible)
{
int m,n;
n=j-i;

if ( (i+1<I)&& (j+1<J) )
{ for(m=i+2;m=I;m++) { if (tab[m-1][m+n-1]!=0) {cible=0;} }
if (cible==1) { tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ( (i+1==I)&& (j+1==J) ) { tab[I][J]=tab[j]; tab[j]=0;}


else { if ((i-1>I)&& (j-1>J))
{ for(m=I;m=i-2;m++) { if (tab[m+1][m+n+1]!=0) {cible=0;}};
if (cible==1) { tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ((i-1==I)&&(j-1==J)) { tab[I][J]=tab[j]; tab[j]=0;}

else { if ( (i+1<I)&& (j-1>J) )
{ for(m=i+2;m=I;m++) { if (tab[m-1][i+i-m+n+1]!=0) {cible=0;} }
if (cible==1) { tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ( (i+1==I)&& (j-1==J) ) { tab[I][J]=tab[j]; tab[j]=0;}


else { if ( (i-1>I)&& (j+1<J) )
{ for(m=j+2;m=J;m++) { if (tab[j+j-m-n+1][m-1]!=0)
{cible=0;} }
if (cible==1) { tab[I][J]=tab[j]; tab[j]=0;}
}
else { if ( (i-1==I)&& (j+1==J) ) { tab[I][J]=tab[j]; tab[j]=0;}

else {cible=0;} } } } } } } }



}
Minus-et-Cortex
  
   
      ?   @     Posté le 06/12/2006 13:51:41  
Voter pour ce message
Salut!

Flagrante, flagrante... faudrait déjà au moins dire ce que représentent i, j, I, J et cible. On suppose (à raison je pense) que tab représente l'échiquier.

@+
-------
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Gustave Parking
herakles1
  
   
      ?   @     Posté le 17/12/2006 15:40:20  
Voter pour ce message
Salut !

Et sinon, on pourrait le trouver où, ton programme de jeu d'échec ?
C'est que c'est intéressant, tout ça...
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> jeu d'echec

Aller à :

Page générée en : 0.051s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Édition PDF
Créez, convertissez, personnalisez et visualisez vos documents PDF!

Jeux
Nouveauté : Créez des tenues branchées et montrez votre sens du style sur des podiums.