J'arrive pas à executer c programme et je sais ou ma faute !!!!!!!!! pleaze hell

Résolu/Fermé
fiboulle Messages postés 8 Date d'inscription mercredi 3 décembre 2008 Statut Membre Dernière intervention 11 juin 2009 - 31 janv. 2009 à 19:03
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 1 févr. 2009 à 10:19
voila mes classes q je le develop et j'arriv pas à l'executer j attend sune reponse svvvvvvvvvvvvvvvvvvp c vraiment urgant c sera noté la semaine prochaine le mercredi !!!!!!!!!!!!!!!
mon mail est newoneforme@live.fr

**********************************

 class main():

public class Start {
public static void main(String[]args)
{
System.out.println("   ** Simulation Jeu d'echec sans la partie graphique **");
System.out.println(" Réalisé par : ");
System.out.println("     Gaani Nehla MI3D ");
   

Echiquier.init_tapis_piece();
   
    Pionn pb0=new Pionn("a7",'b');
    Pionn pb1=new Pionn("b7",'b');
    Pionn pb2=new Pionn("c7",'b');
    Pionn pb3=new Pionn("d7",'b');
    Pionn pb4=new Pionn("e7",'b');
    Pionn pb5=new Pionn("f7",'b');
    Pionn pb6=new Pionn("g7",'b');
    Pionn pb7=new Pionn("h7",'b');
   
    Pionn pn0=new Pionn("a2",'n');
    Pionn pn1=new Pionn("b2",'n');
    Pionn pn2=new Pionn("c2",'n');
    Pionn pn3=new Pionn("d2",'n');
    Pionn pn4=new Pionn("e2",'n');
    Pionn pn5=new Pionn("f2",'n');
    Pionn pn6=new Pionn("g2",'n');
    Pionn pn7=new Pionn("h2",'n');
   
    Roi Rb=new Roi('b');
    Roi Rn=new Roi('n');
    Cavalier Cn0= new Cavalier("b1",'n');
    Cavalier Cn1= new Cavalier("g1",'n');
    Cavalier Cb0= new Cavalier("b8",'b');
    Cavalier Cb1= new Cavalier("g8",'b');
    Fou Fn0= new Fou("c1",'n');
    Fou Fn1= new Fou("f1",'n');
    Fou Fb0= new Fou("c8",'b');
    Fou Fb1= new Fou("f8",'b');
   
    Reine Ren=new Reine('n');
    Reine Reb=new Reine('b');
    Tour Tn0=new Tour("a1",'n');
    Tour Tn1=new Tour("h1",'n');
    Tour Tb0=new Tour("a8",'b');
    Tour Tb1=new Tour("h8",'b');
   
   
   
/**Affichage du tapis_nom
 *
 */
    for(int i=0;i<8;i++){
        System.out.println("");
        for(int j=0;j<8;j++)
            System.out.print("  "+Echiquier.tapis_nom[i][j]);
       
    }
}
}
*********************

class echiquier =

public class Echiquier {

static String tapis_nom[][]=new String[8][8];
/** creation d'une matrice de noms du pieces 
 *
 */

static void init_tapis_piece()
{for(int i=0;i<8;i++)
    for(int j=0;j<8;j++)
    tapis_nom[i][j]=" .";
}
/**initialisation du tapis_nom
 *
 */
}
/**cette classe permet d'intialiser le tapis_nom du piece
 *
 *
 */

*********************

class cavalier

public class Cavalier extends Piece {
    int x;
    int y;
    /**
     * x : position verticale
     * y : position horizontale
     */
Cavalier(String s,char c)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    super(c);
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int j=(int)c1-97;
    int i=Math.abs((int)c2-56);
    /**
     *Verification de l emplacement initial de la piece Cavalier dans le
     *tapis_nom
     */
   
    if((i!=0 && i!=7)||(j!=1 && j!=6))
        System.out.println("Un Cavalier doit etre placé en b8,g8,b1 ou g1");   
    else
        if(i==0 && super.couleur=='n')
            System.out.println("Un Cavalier noir doit etre placé en b1 ou g1");
        else if (i==7 && super.couleur=='b')
            System.out.println("Un Cavalier blanc doit etre placé en b8 ou g8");
            else if(tapis_nom[i][j]==" .")
               
    {
            y=j;
            x=i;   
        tapis_nom[x][y]="Ca";
        }
}

void deplacement(String s)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**
     * verification et construction du chemin de deplacement
     */           
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
        {System.out.println("attention !!Ceci vous Met hors tapis");return;}
    else
        if((Math.abs(x_test-x)==2 && (Math.abs(y_test-y)==1)||((Math.abs(x_test-x)==1 && (Math.abs(y_test-y)==2)))) && super.deplacementLicite(x_test,y_test))
        {
            tapis_nom[x][y]=" .";
            x=x_test;
            y=y_test;
            tapis_nom[x][y]="Ca";
        }
       
}
void prise(String s,Piece A)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**verification et construction du chemin de deplacement
     * ainsi que la prise d'une piece quelconque passé en argument
     */       
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Ceci vous met hors tapis");
        return;
    }
    else if((Math.abs(x_test-x)==2 && (Math.abs(y_test-y)==1)||((Math.abs(x_test-x)==1 && (Math.abs(y_test-y)==2)))) && super.deplacementLicite(x_test,y_test)&& A.couleur!=super.couleur)
    {
        tapis_nom[x][y]=" .";
        A=null;
        x=x_test;
        y=y_test;
        tapis_nom[x][y]="Ca";
    }
}
void affichage()
{/**Affichage des differents attributs de la classe Cheval
*/
    System.out.println("Ce Cavalier est:");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}

}
**********************

class tour

public class Tour extends Reine{
int x;
int y;
/**
 * x : position verticale
 * y : position horizontale
 */
Tour(String s,char c)
{super(c);
/**passage d'une chaine de caratere s vers les entiers i et j
 *designant la colonne et la ligne de la matrice tapis_nom
 */
char c1=s.charAt(0);
char c2=s.charAt(1);
int j=(int)c1-97;
int i=Math.abs((int)c2-56);
/**
 *Verification de l emplacement initial de la piece Tour dans le
 *tapis_nom
 */
if((i!=0 && i!=7)||(j!=0 && j!=7))
    System.out.println("Un Tour doit etre placé en a8,h8,a1 ou h1");   
else
    if(i==0 && super.couleur=='n')
        System.out.println("Un Tour noir doit etre placé en a1 ou h1");
    else if (i==7 && super.couleur=='b')
        System.out.println("Un Tour blanc doit etre placé en a8 ou h8");
        else if(tapis_nom[i][j]==" .")
           
{
        y=j;
        x=i;   
    tapis_nom[x][y]="To";
    }
}
void deplacement(String s)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**
     * verification et construction du chemin de deplacement
     */           
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Cette position n'existe pas sur le tapis");
        return;
    }
    if(x_test!=x && y_test!=y)
        {
        System.out.println("Ce deplacement est illégal pour le tour");
        return;
        }
    else
        if(x_test!=x)
        {if(x_test>x)
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[i][y]!=" .")
                    {
                        System.out.println("Attention!! le chemin n'est pas libre"+i);
                        return;
                    }}
        else
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[i][y]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        }
        else
        {if(y_test>y)
            for(int j=y+1;j<y_test;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        else
            for(int j=y_test;j<y;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        }
if(super.deplacementLicite(x_test,y_test))
{    tapis_nom[x][y]=" .";
    x=x_test;
    y=y_test;
    tapis_nom[x][y]="To";
}
else
    System.out.println("Cette Place est Occupé !!");
}

void prise(String s,Piece A)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**verification et construction du chemin de deplacement
     * ainsi que la prise d'une piece quelconque passé en argument
     */       
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("Vous etes hors Tapis!!");
        return;
    }
    if(x_test!=x && y_test!=y)
        {
        System.out.println("Cet deplacement est illegal pour le Tour !!");
        return;
        }
    else
        if(x_test!=x)
        {if(x_test>x)
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[i][y]!=" .")
                    {
                        System.out.println("Attention!! le chemin n'est pas libre");
                        return;
                    }}
        else
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[i][y]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        }
        else
        {if(y_test>y)
            for(int j=y+1;j<y_test;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        else
            for(int j=y_test;j<y;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Attention!! le chemin n'est pas libre");
                    return;
                }}
        }
if(A.couleur!=super.couleur && tapis_nom[x_test][y_test]!=" .")
    {tapis_nom[x][y]=" .";
    x=x_test;
    y=y_test;
    A=null;
    tapis_nom[x][y]="To";
    }
}   
void affichage()
{/**Affichage des differents attributs de la classe Tour
    */
    System.out.println("Ce Tour est:");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}
}
********************

class fou

public class Fou extends Piece{
int x;
int y;
/**
 * x : position verticale
 * y : position horizontale
 */

Fou(String s,char c)
{
    super(c);
    /**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */   
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int j=(int)c1-97;
    int i=Math.abs((int)c2-56);
    /**
     *Verification de l emplacement initial de la piece Fou dans le
     *tapis_nom
     */
    if((i!=0 && i!=7)||(j!=2 && j!=5))
        System.out.println("Un Fou doit etre placé en c8,f8,c1 ou f1");   
    else
        if(i==0 && super.couleur=='n')
            System.out.println("Un fou noir doit etre placé en c1 ou f1");
        else if (i==7 && super.couleur=='b')
            System.out.println("Un fou blanc doit etre placé en c8 ou f8");
            else if(tapis_nom[i][j]==" .")
               
    {
            y=j;
            x=i;   
        tapis_nom[x][y]="Fo";
        }
}
void deplacement(String s)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**
     * verification et construction du chemin de deplacement
     */           
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
{
    System.out.println("attention !!Ceci vous met hors tapis");
    return;
}
    if(x-x_test<0 && y-y_test<0)
        {for(int i=x+1;i<x_test;i++)
            for(int j=y;j<y_test;j++)
                if(i==j && tapis_nom[i][j]!=" .")
                {   
                    System.out.println("Erreur !!Chemin occupé");
                   
                    return;
                }
        }
    else if(x-x_test>0 && y-y_test>0)
            {for(int i=x_test;i<x;i++)
                for(int j=y_test;j<y;j++)
           
            if(i==j && tapis_nom[i][j]!=" .")
            {   
                System.out.println("Erreur !!Chemin occupé");
               
                return;
            }
            }
    else if(x-x_test<0 && y-y_test>0)
        {for(int i=x+1;i<x_test;i++)
            for(int j=y_test;j<y;j++)
       
        if(i==j && tapis_nom[i][j]!=" .")
        {   
            System.out.println("Erreur !!Chemin occupé");
           
            return;
        }}
    else if(x-x_test>0 && y-y_test<0)
    {for(int i=x_test;i<x;i++)
        for(int j=y;j<y_test;j++)
   
    if(i==j && tapis_nom[i][j]!=" .")
    {   
        System.out.println("Erreur !!Chemin occupé");
   
        return;
    }}   
   
    if(Math.abs(x_test-x)==Math.abs(y_test-y) && super.deplacementLicite(x_test, y_test))
        {
            tapis_nom[x][y]=" .";
            x=x_test;
            y=y_test;
            tapis_nom[x][y]="Fo";
        }
}

void prise(String s,Piece A)
{    /**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
   
    /**verification et construction du chemin de deplacement
     * ainsi que la prise d'une piece quelconque passé en argument
     */       
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Ceci vous met hors tapis");
        return;
    }
        if(x-x_test<0 && y-y_test<0)
            {for(int i=x;i<x_test;i++)
                for(int j=y;j<y_test;j++)
                    if(i==j && tapis_nom[i][j]!=" .")
                    {   
                        System.out.println("Erreur !!Chemin occupé");
                       
                        return;
                    }
            }
        else if(x-x_test>0 && y-y_test>0)
                {for(int i=x_test;i<x;i++)
                    for(int j=y_test;j<y;j++)
               
                if(i==j && tapis_nom[i][j]!=" .")
                {   
                    System.out.println("Erreur !!Chemin occupé");
                   
                    return;
                }
                }
        else if(x-x_test<0 && y-y_test>0)
            {for(int i=x;i<x_test;i++)
                for(int j=y_test;j<y;j++)
           
            if(i==j && tapis_nom[i][j]!=" .")
            {   
                System.out.println("Erreur !!Chemin occupé");
               
                return;
            }}
        else if(x-x_test>0 && y-y_test<0)
        {for(int i=x_test;i<x;i++)
            for(int j=y;j<y_test;j++)
       
        if(i==j && tapis_nom[i][j]!=" .")
        {   
            System.out.println("Erreur !!Chemin occupé");
           
            return;
        }}   
       
   
       
        if(Math.abs(x_test-x)==Math.abs(y_test-y) && !super.deplacementLicite(x_test, y_test))
            {
                if(A.couleur!=super.couleur)
                {tapis_nom[x][y]=" .";
                A=null;
                x=x_test;
                y=y_test;
                tapis_nom[x][y]="Fo";
                }
            }

}
void affichage()
{/**Affichage des differents attributs de la classe Fou
*/
    System.out.println("Ce Fou est:");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}
}

********************

class pion

public class Pionn extends Piece{
int x;
int y;
/**
 * x : position verticale
 * y : position horizontale
 */

Pionn(String s,char c)
{/**passage d'une chaine de caratere s vers les entiers i et j
 *designant la colonne et la ligne de la matrice tapis_nom
 */
        super(c);
        char c1=s.charAt(0);
        char c2=s.charAt(1);
        int j=(int)c1-97;
        int i=Math.abs((int)c2-56);
       
        /**
         *Verification de l emplacement initial de la piece Pion dans le
         *tapis_nom
         */
       
        if((i!=1 && i!=6))
            System.out.println("Un Pion doit etre placé en a7,b7...h7 ou a2,b2...,h2");   
        else
            if(i==1 && super.couleur=='n')
                System.out.println("Un Pion noir doit etre placé en a2,b2,...,h7");
            else if (i==6 && super.couleur=='b')
                System.out.println("Un Pion blanc doit etre placé en a7,b7,...,h7");
                else if(tapis_nom[i][j]==" .")
                   
        {
                y=j;
                x=i;   
            Echiquier.tapis_nom[x][y]="Pi";
            }
         
   
}
   
void deplacement(String s)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);/*passage de type string passé en parametre au type int*/
    /**
     * verification et construction du chemin de deplacement
     */           
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
        {System.out.println("attention !!Vous etes hors Tapis");return;}
    if(x==1 ||x==6)
    {
        if (super.couleur=='b')
            if((x_test-x==1 ||x_test-x==2) && y==y_test && super.deplacementLicite(x_test, y_test))
                {Echiquier.tapis_nom[x][y]=" .";
                x=x_test;
                Echiquier.tapis_nom[x][y]="Pi";}
            else
                System.out.println("Déplacement illégal!!Attention");
        else if (super.couleur=='n')
            if((x_test-x==-1 ||x_test-x==-2) && y==y_test && super.deplacementLicite(x_test,y_test))
                {Echiquier.tapis_nom[x][y]=" .";
                x=x_test;
                Echiquier.tapis_nom[x][y]="Pi";}
            else
                System.out.println("Déplacement illégal!!Attention1");
    }
    else
        if (super.couleur=='b')
            if(x_test-x==1  && y==y_test && super.deplacementLicite(x_test, y_test))
                {tapis_nom[x][y]=" .";
                x=x_test;
                tapis_nom[x][y]="Pi";}
            else
                System.out.println("Déplacement illégal!!Attention2");
        else if (super.couleur=='n')
            if(x_test-x==-1  && y==y_test && super.deplacementLicite(x_test,y_test))
                {tapis_nom[x][y]=" .";
                x=x_test;
                tapis_nom[x][y]="Pi";}
            else
                System.out.println("Déplacement illégal!!Attention3");
}

void prise (String s,Pionn A)
{/**verification et construction du chemin de deplacement
 * ainsi que la prise d'une piece quelconque passé en argument
 */       
    char c1=s.charAt(0);
char c2=s.charAt(1);
int y_test=(int)c1-97;
int x_test=Math.abs((int)c2-56);
   
    if(tapis_nom[x_test][y_test]!=" ." && A.couleur!=super.couleur)
        {
            if(super.couleur=='b')
                if(x_test-x==1 && (y_test-y==1 || y_test-y==-1))
                    {
                        A=null;
                        tapis_nom[x][y]=" .";
                        x=x_test;y=y_test;
                        tapis_nom[x][y]="Pi";
                    }
            else
                if(super.couleur=='n')
                        if(x_test-x==-1 && ((y_test-y)==1 || (y_test-y)==-1))
                        {   
                            A=null;
                            tapis_nom[x][y]=" .";
                            x=x_test;y=y_test;
                            tapis_nom[x][y]="Pi";
                        }
        }
    else
        if(tapis_nom[x_test][y_test]!=" .")
            System.out.println("C est Votre Piece  ");

}

void affichage()
{/**Affichage des differents attributs de la classe Pion
*/
    System.out.println("Ce Pion est:");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}
}

***********************************

class reine

public class Reine extends Piece{
int x;
int y;
/**
 * x : position verticale
 * y : position horizontale
 */
Reine(char c)
{    super(c);
/**
 *Verification de l emplacement initial de la piece Reine dans le
 *tapis_nom
 */
if(super.couleur=='b')
    {x=0;
    y=4;}
    else
        {x=7;
        y=3;}
   
    tapis_nom[x][y]="Re";
}
void deplacementT(int x_test,int y_test)
{
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Ce deplacement vous met hors tapis!");
        return;
    }
    if(x_test!=x && y_test!=y)
        {
        System.out.println("Attention ! deplacement illégal");
        return;
        }
    else
        if(x_test!=x)
        {if(x_test>x)
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[i][y]!=" .")
                    {
                        System.out.println("Erreur !!Chemin occupé");
                        return;
                    }}
        else
            for(int i=x_test;i<x;i++)
                {if(tapis_nom[i][y]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        }
        else
        {if(y_test>y)
            for(int j=y+1;j<y_test;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        else
            for(int j=y_test;j<y;j++)
                {if(tapis_nom[x][j]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        }
if(super.deplacementLicite(x_test,y_test))
{    tapis_nom[x][y]=" .";
    x=x_test;
    y=y_test;
    tapis_nom[x][y]="Re";
}

   
}

void deplacementF(int x_test,int y_test)
{
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Tapis wfèt");
        return;
    }
        if(x-x_test<0 && y-y_test<0)
            {for(int i=x+1;i<x_test;i++)
                for(int j=y;j<y_test;j++)
                    if(i==j && tapis_nom[i][j]!=" .")
                    {   
                        System.out.println("Erreur !!Chemin occupé");
                       
                        return;
                    }
            }
        else if(x-x_test>0 && y-y_test>0)
                {for(int i=x_test;i<x;i++)
                    for(int j=y_test;j<y;j++)
               
                if(i==j && tapis_nom[i][j]!=" .")
                {   
                    System.out.println("Erreur !!Chemin occupé");
               
                    return;
                }
                }
        else if(x-x_test<0 && y-y_test>0)
            {for(int i=x+1;i<x_test;i++)
                for(int j=y_test;j<y;j++)
           
            if(i==j && tapis_nom[i][j]!=" .")
            {   
                System.out.println("Erreur !!Chemin occupé");
               
                return;
            }}
        else if(x-x_test>0 && y-y_test<0)
        {for(int i=x_test;i<x;i++)
            for(int j=y;j<y_test;j++)
       
        if(i==j && tapis_nom[i][j]!=" .")
        {   
            System.out.println("Erreur !!Chemin occupé");
           
            return;
        }}   
       
        if(Math.abs(x_test-x)==Math.abs(y_test-y) && super.deplacementLicite(x_test, y_test))
            {
                tapis_nom[x][y]=" .";
                x=x_test;
                y=y_test;
                tapis_nom[x][y]="Re";
            }
}
void deplacement(String s)
{/**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
/**verification s'il sagit d un deplacement diagonale ou nn
 * et appel a l une de ces deux procedure :
 * DeplacementT:celui du tour
 * DeplacementF:celui du fou
 */
    if(x_test==x||y_test==y)
        deplacementT(x_test,y_test);
    else
        deplacementF(x_test,y_test);
}

void prise(String s,Piece P){
    /**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
/**Verification et créatin du chemin de la Reine
 * tout en respectant les differentes conditions sur les règles
 * du jeu
 */
if (x_test==x||y_test==y)
{
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("attention !!Tapis wfèt");
        return;
    }
    if(x_test!=x && y_test!=y)
        {
        System.out.println("Attention !! Deplacement illégal");
        return;
        }
    else
        if(x_test!=x)
        {if(x_test>x)
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[x][y]!=" .")
                    {
                        System.out.println("Erreur !!Chemin occupé");
                        return;
                    }}
        else
            for(int i=x+1;i<x_test;i++)
                {if(tapis_nom[x][y]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        }
        else
        {if(y_test>y)
            for(int j=y+1;j<y_test;j++)
                {if(tapis_nom[x][y]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        else
            for(int j=y_test;j<y;j++)
                {if(tapis_nom[x][y]!=" .")
                {
                    System.out.println("Erreur !!Chemin occupé");
                    return;
                }}
        }
if(super.couleur!=P.couleur)
{    tapis_nom[x][y]=" .";
    P=null;
    x=x_test;
    y=y_test;
    tapis_nom[x][y]="Re";
}   
}
else
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {
        System.out.println("Ce deplacement vous met hors tapis!!");
        return;
    }
        if(x-x_test<0 && y-y_test<0)
            {for(int i=x;i<x_test;i++)
                for(int j=y;j<y_test;j++)
                    if(i==j && tapis_nom[x][y]!=" .")
                    {   
                        System.out.println("Erreur !!Chemin occupé");
                       
                        return;
                    }
            }
        else if(x-x_test>0 && y-y_test>0)
                {for(int i=x_test;i<x;i++)
                    for(int j=y_test;j<y;j++)
               
                if(i==j && tapis_nom[x][y]!=" .")
                {   
                    System.out.println("Erreur !!Chemin occupé");
                   
                    return;
                }
                }
        else if(x-x_test<0 && y-y_test>0)
            {for(int i=x+1;i<x_test;i++)
                for(int j=y_test;j<y;j++)
           
            if(i==j && tapis_nom[x][y]!=" .")
            {   
                System.out.println("Erreur !!Chemin occupé");
       
                return;
            }}
        else if(x-x_test>0 && y-y_test<0)
        {for(int i=x_test;i<x;i++)
            for(int j=y+1;j<y_test;j++)
       
        if(i==j && tapis_nom[x][y]!=" .")
        {   
            System.out.println("Erreur !!Chemin occupé");
           
            return;
        }}   
       
        if(Math.abs(x_test-x)==Math.abs(y_test-y) && super.couleur!=P.couleur)
            {
                tapis_nom[x][y]=" .";
                x=x_test;
                y=y_test;
                tapis_nom[x][y]="Re";
            }
}

void affichage()
{/**Affichage des differents attributs de la classe Pion
    */
    System.out.println("C est la Reine :");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}
}
*****************

class roi

public class Roi extends Piece{
    int x;
    int y;
    /**
     * x : position verticale
     * y : position horizontale
     */

Roi (char c)
{    super(c);
/**
 *Verification de l emplacement initial de la piece Roi dans le
 *tapis_nom
 */
if(super.couleur=='b')
    {x=0;
    y=3;}
        else
        {x=7;
        y=4;}

tapis_nom[x][y]="Ro";
}

void deplacement(String s){
    /**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */   
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**
     * verification et construction du chemin de deplacement
     */           
    if(x_test<0 || x_test>7 || y_test<0 || y_test>7)
    {System.out.println("attention !!Tapis wfèt");return;}
    else
   
            if(((Math.abs(x_test-x)==1  && y==y_test)||(x_test==x && Math.abs(y_test-y)==1) ||(Math.abs(x_test-x)==1 && Math.abs(y_test-y)==1))&& super.deplacementLicite(x_test, y_test))
                {tapis_nom[x][y]=" .";
                x=x_test;
                tapis_nom[x][y]="Ro";}
            else
                System.out.println("Déplacement illégal!!Attention");
}       
void prise(String s,Piece P){
    /**passage d'une chaine de caratere s vers les entiers i et j
     *designant la colonne et la ligne de la matrice tapis_nom
     */
    char c1=s.charAt(0);
    char c2=s.charAt(1);
    int y_test=(int)c1-97;
    int x_test=Math.abs((int)c2-56);
    /**verification et construction du chemin de deplacement
     * ainsi que la prise d'une piece quelconque passé en argument
     */       
    if(tapis_nom[x_test][y_test]!=" ." && P.couleur!=super.couleur)
    {
        if((Math.abs(x_test-x)==1  && y==y_test)||(x_test==x && Math.abs(y_test-y)==1) ||(Math.abs(x_test-x)==1 && Math.abs(y_test-y)==1))
            {
                P=null;
                tapis_nom[x][y]=" .";
                x=x_test;y=y_test;
                tapis_nom[x][y]="Ro";
                }
    }
    else
        if(tapis_nom[x_test][y_test]!=" .")
            System.out.println("Occupé par votre Piece! ");
}
void affichage()
{/**Affichage des differents attributs de la classe Roi
*/
    System.out.println("Ce Roi est:");
    System.out.println("        x= "+x);
    System.out.println("        y= "+y);
    if(super.couleur=='n')
    System.out.println("        couleur : noir");
    if(super.couleur=='b')
        System.out.println("        couleur : Blanc");

}
}

***************************

 class piece

public class Piece extends Echiquier{
char couleur;
/**
 * Couleur : la couleur de cette piece
 */

Piece (char a)
{
    couleur=a;
}
boolean deplacementLicite(int l,int c)
{
    if(tapis_nom[l][c]==" .")
        return true;
    else
        return false ;
}

}

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 févr. 2009 à 10:19
Salut,

Bon apparement, tu n'as toujours pas lu le règlement, je clos le topic pour manque de respect à toute la communauté !

PAS DE SMS !!! QUESTIONS PRECISES SUR DES POINTS PRECIS !!! "c'est urgent" : ca sert à rien de le préciser, on est des bénévoles, on n'est pas là pour répondre à tes moindres besoins !!!
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
31 janv. 2009 à 21:06
Salut,

Tu ne crois tout de même pas qu'on va prendre tout ton code et le déboguer à ta place quand même ?

Déjà, rien que vu ton manque de respect à notre réglement... tu ferais bien de le relire d'ailleurs !
______________________________________
DarK Sidious
0
chris081 Messages postés 90 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 4 février 2009
1 févr. 2009 à 02:37
Salut
Pour commencer, chacun des constructeurs de tes pièces d'échecs ne font rien d'autre que de positionner la piece nouvellement crée sur l'échiquier.
Ensuite, tu positionne de façon incorrect certaines pièces:Ton échiquier est un tableau comme suit

Ligne 0

Ligne 1

Ligne ...

Ligne 6

Ligne 7

(de 0 à 7 = 8 lignes, d'accord)

Or, toi, tu positionnes des Pions à la ligne 0 et à la ligne 2, alors qu'ils devraient être à la ligne 1 et à la ligne 6; les lignes 0 et 7 doivent être réservés aux pièces 'maitresses'. Si ton fondement logique quant à la conception de ton jeu s'est basé sur des position de départ de pièces éronnées, alors c'est normal que ca ne fonctionne pas.
Corrige ce que je viens de te dire, essait et dit moi les résultats.
chris081

<hr width="100%" />

Est-ce que les femmes pètent autant que les hommes ?
Oui. Cependant, les hommes semblent en tirer plus de gloire que les femmes.

Retrouvez l'intégrale ici
0
fiboulle Messages postés 8 Date d'inscription mercredi 3 décembre 2008 Statut Membre Dernière intervention 11 juin 2009
1 févr. 2009 à 10:06
vraiment je ss desolé de ma façon de exposer mon travail !!!!!!
.. en faite j ai bcp à projet à faire !! imagine q chaq prof dispose un sujet alors là je ss incapble de le faire en mme temps(j ai 5 projets programmation web aganece d evoyage  + falsh  + compilation + assembleur +  c++ pour gestion d'une entreprise ) c pour mon petit cerveau s'arrete à me fournir des idees !!!!!!!!! pour c projet
si qlq'un peut m'aider je ss lui remercie infinement !!!!!!!!
vraiment j' ai besoin c coup de main !!!!!!!!!
et c urgent
0
Rejoignez-nous