Tour fonctionnelle (pas comme avant)
+ debut de fou experimental
This commit is contained in:
parent
968cbe0f42
commit
3ec9d2fec0
@ -115,8 +115,12 @@ public class Echiquier {
|
|||||||
int j = -1;
|
int j = -1;
|
||||||
int k;
|
int k;
|
||||||
int l;
|
int l;
|
||||||
int stockX;
|
//int stockX;
|
||||||
int stockY;
|
//int stockY;
|
||||||
|
//int stockX2;
|
||||||
|
//int stockY2;
|
||||||
|
Position stock;
|
||||||
|
Position stock2;
|
||||||
|
|
||||||
do { /// TEST 1ERE COORS
|
do { /// TEST 1ERE COORS
|
||||||
i++;
|
i++;
|
||||||
@ -170,11 +174,11 @@ public class Echiquier {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
System.out.println("Choix validés. déplacement en cours.");
|
System.out.println("Choix validés. déplacement en cours.");
|
||||||
stockX = this.getEchiquier()[k][l].getPosition().getX();
|
stock = new Position(l+1,8-k);
|
||||||
stockY = this.getEchiquier()[k][l].getPosition().getY();
|
stock2 = new Position(j+1,8-i);
|
||||||
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
||||||
this.getEchiquier()[k][l].setPosition(new Position(stockX,stockY));
|
this.getEchiquier()[k][l].setPosition(stock);
|
||||||
this.getEchiquier()[i][j] = new Piece(new Position(this.getEchiquier()[i][j].getPosition().getX(),this.getEchiquier()[i][j].getPosition().getY()));
|
this.getEchiquier()[i][j] = new Piece(stock2);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,4 +6,68 @@ public class Fou extends Piece {
|
|||||||
{//c = couleur, n = nom, pos = position
|
{//c = couleur, n = nom, pos = position
|
||||||
super(c,n,pos);
|
super(c,n,pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
|
{
|
||||||
|
System.out.println("test");
|
||||||
|
System.out.println(p.getPosition().getX());
|
||||||
|
System.out.println(p.getPosition().getY());
|
||||||
|
System.out.println(this.getPosition().getX());
|
||||||
|
System.out.println(this.getPosition().getY());
|
||||||
|
for (int i = 1; i < 8; i++)
|
||||||
|
{
|
||||||
|
System.out.println("test2");
|
||||||
|
if ( p.getPosition().getX() == this.getPosition().getX()+i) // On trouve le x de la 2eme coors
|
||||||
|
{
|
||||||
|
System.out.println("test3");
|
||||||
|
if (p.getPosition().getY() == this.getPosition().getY()+i ) // on verifie que quand on avance de x vers la droite on monte aussi de x
|
||||||
|
{
|
||||||
|
System.out.println("test4");
|
||||||
|
//for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
|
||||||
|
for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
|
||||||
|
{
|
||||||
|
System.out.println(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getPosition().getX());
|
||||||
|
if ( !(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getNom().equals("..")) )
|
||||||
|
{
|
||||||
|
System.out.println("Le chemin n'est pas libre.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else if (p.getPosition().getY() == this.getPosition().getY()-i)
|
||||||
|
{
|
||||||
|
for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
|
||||||
|
{
|
||||||
|
System.out.println("test5.2");
|
||||||
|
if ( !(e.getEchiquier()[j][this.getPosition().getY()-j].getNom().equals("..")) )
|
||||||
|
{
|
||||||
|
System.out.println("Le chemin n'est pas libre.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
else if ( p.getPosition().getX() == this.getPosition().getX()-i)
|
||||||
|
{
|
||||||
|
System.out.println("test6");
|
||||||
|
if (p.getPosition().getY() == this.getPosition().getY()+i || p.getPosition().getY() == this.getPosition().getY()-i)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ public class Piece {
|
|||||||
public Piece(String couleur,String l, Position pos)
|
public Piece(String couleur,String l, Position pos)
|
||||||
{
|
{
|
||||||
this.couleur = couleur;
|
this.couleur = couleur;
|
||||||
//this.lettre = l;
|
|
||||||
this.nom = l;
|
this.nom = l;
|
||||||
//this.emplacementIni = emp;
|
//this.emplacementIni = emp;
|
||||||
this.position = pos;
|
this.position = pos;
|
||||||
@ -66,14 +65,6 @@ public class Piece {
|
|||||||
|
|
||||||
// gets & sets
|
// gets & sets
|
||||||
|
|
||||||
/*
|
|
||||||
public String getLettre() {
|
|
||||||
return lettre;
|
|
||||||
}
|
|
||||||
public void setLettre(String lettre) {
|
|
||||||
this.lettre = lettre;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
public String getNom() {
|
public String getNom() {
|
||||||
return nom;
|
return nom;
|
||||||
}
|
}
|
||||||
|
@ -10,18 +10,21 @@ public class Tour extends Piece {
|
|||||||
public boolean deplacable(Echiquier e,Piece p)
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
{
|
{
|
||||||
System.out.println("test");
|
System.out.println("test");
|
||||||
System.out.println(p.getPosition().getX());
|
|
||||||
System.out.println(this.getPosition().getX());
|
System.out.println(this.getPosition().getX());
|
||||||
System.out.println(p.getPosition().getY());
|
|
||||||
System.out.println(this.getPosition().getY());
|
System.out.println(this.getPosition().getY());
|
||||||
|
System.out.println(p.getPosition().getX());
|
||||||
|
System.out.println(p.getPosition().getY());
|
||||||
|
System.out.println("tet");
|
||||||
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
||||||
{
|
{
|
||||||
System.out.println("test1");
|
System.out.println("test");
|
||||||
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
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()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
System.out.println("test2");
|
||||||
|
for (int i = this.getPosition().getY()+1; i <= p.getPosition().getY()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
{
|
{
|
||||||
if (!(e.getEchiquier()[this.getPosition().getX()][i].getNom().equals(".."))) // SI case non vide
|
if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide
|
||||||
{
|
{
|
||||||
System.out.println("Le chemin n'est pas libre.");
|
System.out.println("Le chemin n'est pas libre.");
|
||||||
return false;
|
return false;
|
||||||
@ -32,9 +35,9 @@ public class Tour extends Piece {
|
|||||||
|
|
||||||
else if (p.getPosition().getY() < this.getPosition().getY()) // Test si la 2 eme piece est en dessous de la 1ere
|
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().getY()-1; i > p.getPosition().getY()+1;i--)
|
for (int i = this.getPosition().getY()-1; i >= p.getPosition().getY()+1;i--)
|
||||||
{
|
{
|
||||||
if (!(e.getEchiquier()[this.getPosition().getX()][i].getNom().equals(".."))) // SI case non vide
|
if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide
|
||||||
{
|
{
|
||||||
System.out.println("Le chemin n'est pas libre.");
|
System.out.println("Le chemin n'est pas libre.");
|
||||||
return false;
|
return false;
|
||||||
@ -47,12 +50,11 @@ public class Tour extends Piece {
|
|||||||
|
|
||||||
else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne
|
else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne
|
||||||
{
|
{
|
||||||
System.out.println("test2");
|
|
||||||
if (p.getPosition().getX() > this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
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()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
for (int i = this.getPosition().getX()+1; i <= p.getPosition().getX()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
{
|
{
|
||||||
if (!(e.getEchiquier()[i][this.getPosition().getY()].getNom().equals(".."))) // SI case non vide
|
if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide
|
||||||
{
|
{
|
||||||
System.out.println("Le chemin n'est pas libre.");
|
System.out.println("Le chemin n'est pas libre.");
|
||||||
return false;
|
return false;
|
||||||
@ -63,9 +65,9 @@ public class Tour extends Piece {
|
|||||||
|
|
||||||
else if (p.getPosition().getX() < this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
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()+1;i--) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
for (int i = this.getPosition().getX()-1; i >= p.getPosition().getX()+1;i--) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
{
|
{
|
||||||
if (!(e.getEchiquier()[i][this.getPosition().getY()].getNom().equals(".."))) // SI case non vide
|
if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -78,80 +80,4 @@ public class Tour extends Piece {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
* */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user