import java.util.ArrayList;

public class Singe extends Bushi implements Deplacable {

	public Singe(int abs, int ord, int etat, int jouable) {
		super(abs, ord, etat, jouable);

	}

	public Singe(int abs, int ord) {
		super(abs, ord, 1, 0);
	}

	/**
	 * @see Deplacable#listerDeplacement(Plateau)
	 * @param Plateau
	 *            le plateau de jeu
	 * @return ArrayList<Bushi> liste des d�placement possible du bushi pass�.
	 * 
	 * 
	 */

	@Override
	public ArrayList<Bushi> listerDeplacement(Plateau p) {

		int i;
		int j;
		ArrayList<Bushi> possible = new ArrayList<Bushi>();

		// i & j repr�sente la valeur du d�calage par rapport aux coordonn�es
		// courantes
		for (i = -1; i <= 1; i++) {

			for (j = 1; j >= -1; j--) {
				// System.out.println("x= " + (this.abs + i) + " y =" +
				// (this.ord + j));
				if (this.reachable(this.abs + i, this.ord + j, p)) {
					possible.add(p.plateau[this.ord + j][this.abs + i]);
				}

				// On regarde un coup plus loin
				if (this.reachable(this.abs + 2 * i, this.ord + 2 * j, p)) {
					possible.add(p.plateau[this.ord + 2 * j][this.abs + 2 * i]);
				}
			}

		}
		return possible;

	}

	@Override
	public String toString() {

		return "Singe [" + (char) (this.abs + 'a') + "," + this.ord + "]";

	}

}

@@ -83,253 +83,1028 @@
 e %7B%0A
-%0A%09public Singe(int abs, int ord, int etat, int jouable) %7B%0A%09%09super(abs, ord, etat, jouable);%0A%0A%09%7D%0A%0A%09public Singe(int abs, int ord) %7B%0A%09%09super(abs, ord, 1, 0);%0A%09%7D%0A%0A%09/**%0A%09 * @see Deplacable#listerDeplacement(Plateau)%0A%09 * @param Plateau%0A%09 *           
+%09%0A%09%0A%09/**%0A%09 * Ce constructeur permet de creer un singe en pr%C3%A9cisant ses coordonnees, son etat (sa taille) %0A%09 * et jouable (pour savoir si le lion est jouable ou non)%0A%09 * @param abs abscisse que l'on souhaite attribuer au singe%0A%09 * @param ord ordonnee que l'on souhaite attribuer au singe%0A%09 * @param etat etat (taille) que l'on souhaite attribuer au singe %0A%09 * @param jouable precise si le singe est jouable ou non (0=jouable, 1=a saute un allie -1=a saute un ennemi%0A%09%09-2=non jouable)%0A%09 */%0A%09public Singe(int abs, int ord, int etat, int jouable) %7B%0A%09%09super(abs, ord, etat, jouable);%0A%0A%09%7D%0A%09%0A%09/**%0A     * Ce constructeur permet de creer un singe en pr%C3%A9cisant ses coordonnees, les autres champs sont fixes par defaut%0A     * @param abs abscisse que l'on souhaite attribuer au singe%0A     * @param ord ordonnee que l'on souhaite attribuer au singe%0A     */%0A%09public Singe(int abs, int ord) %7B%0A%09%09super(abs, ord, 1, 0);%0A%09%7D%0A%0A%09/**%0A%09 * listerDeplacement permet de d'ajouter les deplacements possibles d'un bushi a une arraylist%0A%09 * @param p
  le 
@@ -1158,17 +1158,17 @@
 te des d
-%EF%BF%BD
+e
 placemen
@@ -1181,34 +1181,41 @@
 ible
+s
  d
-u bushi pass%EF%BF%BD.%0A%09 * %0A%09 * 
+e l'instance courante de singe
 %0A%09 *
@@ -1919,16 +1919,258 @@
 le;%0A%0A%09%7D%0A
+%09%0A%0A%09/**%0A%09  * toString() renvoie une chaine de caracteres pr%C3%A9cisant la classe (Singe) et ses coordonnees%0A%09  * @return %22Singe %5B%22 + (char) (this.abs + 'a') + %22,%22 + this.ord + %22%5D%22; pr%C3%A9cise la classe et l'abcisse et l'ordonnee entre crochets%0A%09  */
 %0A%09@Overr

update Singe + javadoc