2019-03-20 14:14:56 +01:00
|
|
|
package piecesEchiquier;
|
|
|
|
|
|
|
|
public class Tour extends Piece {
|
|
|
|
|
2019-05-04 21:08:15 +02:00
|
|
|
public Tour(String couleur,String l, Position pos)
|
2019-04-23 17:30:04 +02:00
|
|
|
{
|
2019-05-04 21:08:15 +02:00
|
|
|
super(couleur,l,pos);
|
|
|
|
}
|
|
|
|
|
2019-05-09 10:54:41 +02:00
|
|
|
public boolean deplacable(Echiquier e,Piece p)
|
|
|
|
{
|
2019-05-09 11:08:09 +02:00
|
|
|
|
2019-05-09 10:54:41 +02:00
|
|
|
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
|
|
|
{
|
|
|
|
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getY()+1; i < p.getPosition().getY();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[this.getPosition().getX()][i].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (p.getPosition().getY() < this.getPosition().getY()) // Test si la 2 eme piece est en dessous de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--)
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[this.getPosition().getY()][i].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne
|
|
|
|
{
|
|
|
|
if (p.getPosition().getX() > this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()+1; i < p.getPosition().getX();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
System.out.println("test");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (p.getPosition().getX() < this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
return false;
|
2019-05-06 17:27:11 +02:00
|
|
|
}
|
2019-05-09 11:32:12 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* package piecesEchiquier;
|
|
|
|
|
|
|
|
public class Tour extends Piece {
|
|
|
|
|
|
|
|
public Tour(String couleur,String l, Position pos)
|
|
|
|
{
|
|
|
|
super(couleur,l,pos);
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean deplacable(Echiquier e,Piece p)
|
|
|
|
{
|
|
|
|
|
|
|
|
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
|
|
|
{
|
|
|
|
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getY()+1; i < p.getPosition().getY();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[this.getPosition().getX()][i].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (p.getPosition().getY() < this.getPosition().getY()) // Test si la 2 eme piece est en dessous de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--)
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[this.getPosition().getY()][i].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne
|
|
|
|
{
|
|
|
|
if (p.getPosition().getX() > this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()+1; i < p.getPosition().getX();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
System.out.println("test");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (p.getPosition().getX() < this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
|
|
|
{
|
|
|
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
|
|
|
{
|
|
|
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
* */
|
|
|
|
|
2019-03-20 14:14:56 +01:00
|
|
|
}
|