Correction exercice

Décompressez l’archive fournie ici

package s05.demineur;
public class CaseVide extends CaseAbstraite {
	public CaseVide(ITerrainMine terrain, int colonne, int ligne) {
		super(terrain, colonne, ligne);
	}
	public int getValeur() {
		return ICase.VIDE;
	}
	public boolean estMinee() {
		return false;
	}
	public void clic() {
		this.devoiler();
		ICase[] voisines={ this.getTerrain().get(this.getColonne(), this.getLigne()-1),
				this.getTerrain().get(this.getColonne()+1, this.getLigne()-1),
				this.getTerrain().get(this.getColonne()+1, this.getLigne()),
				this.getTerrain().get(this.getColonne()+1, this.getLigne()+1),
				this.getTerrain().get(this.getColonne(), this.getLigne()+1),
				this.getTerrain().get(this.getColonne()-1, this.getLigne()+1),
				this.getTerrain().get(this.getColonne()-1, this.getLigne()),
				this.getTerrain().get(this.getColonne()-1, this.getLigne()-1)};
		for (int i=0; i<voisines.length; i++) {
			if (voisines[i]!=null) {
				voisines[i].propager();
			}
		}
	}
	public void propager() {
		if (this.estCachee()) {
			this.clic();
		}
	}
}
package s05.demineur;
public class CaseMinee extends CaseAbstraite {
	public CaseMinee(ITerrainMine terrain, int c, int l) {
		super(terrain, c,l);
	}
	public int getValeur() {
		return ICase.MINEE;
	}
	public boolean estMinee() {
		return true;
	}
	public void propager() {
 
	}
	public void clic() {
		this.devoiler();
	}
}
package s05.demineur;
public class CaseNumerotee extends CaseVide {
	private int valeur;
 
	public CaseNumerotee(ITerrainMine terrain, int colonne, int ligne, int valeur) {
		super(terrain, colonne, ligne);
		this.valeur = valeur;
	}
	public int getValeur() {
		return this.valeur;
	}
	public void clic() {
		this.devoiler();
	}
}