public class Dragon extends Bushi implements Deplacable {

	public Dragon(int abs, int ord) {
		super(abs, ord, 3, 0);
	}

	@Override
	public String toString() {

		return "d " + this.abs + " " + this.ord;

	}
}

/*
 * public Dragon(int abs, int ord, int etat) { super(abs, ord, etat);
 * this.taille = 3; }
 * 
 * /* public int reachable(Bushi b,Plateau p){ int temp_abs=b.getAbs(); int
 * temp_ord=b.getOrd();
 * 
 * if(p.plateau[temp_abs][temp_ord].isJouable()){ return 0; }
 * if(p.plateau[temp_abs][temp_ord].isOccupee()){ return -1; }
 * if(p.plateau[temp_abs][temp_ord].isPortail()){ return -3; } else{ return -2;
 * }
 * 
 * }
 * 
 * public ArrayList<Bushi> Deplacement(Plateau p){ int i; int j;
 * ArrayList<Bushi> possible = new ArrayList<Bushi>(); for (i=this.getAbs()-2;
 * i<=this.getAbs()+2; i++){
 * 
 * for(j=this.getOrd()-2; j<=this.getOrd()+2; j++){
 * 
 * if(this.reachable(p.plateau[i][j], p) ==0){ possible.add(p.plateau[i][j]); }
 * } } return possible; }
 * 
 * public ArrayList<Bushi> CaseIntermediaireCheck(Plateau p){ int i; int j;
 * 
 * ArrayList<Bushi> inter = new ArrayList<Bushi>();
 * 
 * for (i=this.getAbs()-1; i<=this.getAbs()+1; i++){
 * 
 * for(j=this.getOrd()-1; j<=this.getOrd()+1; j++){
 * if(p.plateau[i][j].isOccupee()){ inter.add(p.plateau[i][j]); } } } return
 * inter; } //public Bushi demanderD�placement(Plateau p);
 * 
 * /*public Bushi verifieObstacle(Plateau p){ this.demanderD�placement(p); int
 * abs_deplacement =this.demanderD�placement(p).getAbs(); int
 * ord_deplacement=this.demanderD�placement(p).getOrd();
 * 
 * int abs_inter = (this.abs + abs_deplacement)/2; int ord_inter = (this.ord +
 * ord_deplacement)/2;
 * 
 * if (p.plateau[abs_inter][ord_inter].isOccupee()){ return
 * p.plateau[abs_inter][ord_inter]; } else { return new Dragon(-1,-1,50); }
 * 
 * }
 * 
 * }
 */

@@ -116,16 +116,617 @@
 0);%0A%09%7D%0A%0A
+%09public ArrayList%3CBushi%3E listerDeplacement(Plateau p) %7B%0A%0A%09%09int i;%0A%09%09int j;%0A%09%09ArrayList%3CBushi%3E possible = new ArrayList%3CBushi%3E();%0A%0A%09%09// i & j repr%EF%BF%BDsente la valeur du d%EF%BF%BDcalage par rapport aux coordonn%EF%BF%BDes%0A%09%09// courantes%0A%09%09for (i = -1; i %3C= 1; i++) %7B%0A%0A%09%09%09for (j = 1; j %3E= -1; j--) %7B%0A%09%09%09%09// System.out.println(%22x= %22 + (this.abs + i) + %22 y =%22 +%0A%09%09%09%09// (this.ord + j));%0A%09%09%09%09if(p.plateau%5Bthis.ord +j%5D%5Bthis.abs + i%5D.etat != 0 )%7B%0A%09%09%09%09%09if (this.reachable(this.abs + 2 * i, this.ord + 2 * j, p)) %7B%0A%09%09%09%09%09%09possible.add(p.plateau%5Bthis.ord + 2 * j%5D%5Bthis.abs + 2 * i%5D);%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%0A%09%09%7D%0A%09%09return possible;%0A%0A%09%7D%0A%09%0A
 %09@Overri
@@ -767,18 +767,24 @@
 return %22
-d 
+Dragon %5B
 %22 + this
@@ -791,16 +791,17 @@
 .abs + %22
+,
  %22 + thi
@@ -805,16 +805,20 @@
 this.ord
++%22%5D%22
 ;%0A%0A%09%7D%0A%7D%0A

fix Dragon