57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
public class VueShadock {
|
|
|
|
private Piece[] listePiece;
|
|
private Donjon donjon;
|
|
private boolean isAvance; // true si la derniere direction est avance() / false si derniere direction est recule()
|
|
|
|
public VueShadock(Donjon donjon, int porteeVision) {
|
|
this.donjon = donjon;
|
|
this.listePiece = new PieceConcrete[porteeVision];
|
|
int i, taille=this.listePiece.length;
|
|
for (i=0; i<taille; i++){
|
|
this.listePiece[i] = this.donjon.apres();
|
|
}
|
|
this.isAvance = true;
|
|
}
|
|
|
|
public void avance(){
|
|
int i, taille=(this.listePiece.length-1);
|
|
if (this.isAvance){
|
|
for (i=0; i<taille; i++){
|
|
this.listePiece[i] = this.listePiece[i+1];
|
|
}
|
|
this.listePiece[taille] = this.donjon.apres();
|
|
}
|
|
else{
|
|
for (i=0; i<=taille; i++){
|
|
this.listePiece[i] = this.donjon.apres();
|
|
}
|
|
}
|
|
this.isAvance =true;
|
|
}
|
|
|
|
public void recule(){
|
|
int i, taille=(this.listePiece.length-1);
|
|
if (this.isAvance == false){
|
|
for (i=taille; i>0; i--){
|
|
this.listePiece[i] = this.listePiece[i-1];
|
|
}
|
|
this.listePiece[0] = this.donjon.avant();
|
|
}
|
|
else{
|
|
for (i=taille; i>=0; i--){
|
|
this.listePiece[i] = this.donjon.avant();
|
|
}
|
|
}
|
|
this.isAvance = false;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
String resultat = new String();
|
|
for (Piece piece : this.listePiece){
|
|
resultat += piece+" ";
|
|
}
|
|
return resultat;
|
|
}
|
|
} |