import java.util.*; public class DonjonLocal implements Donjon { private List couloir; private int position; public DonjonLocal() { this.couloir = new ArrayList<>(); this.position = 0; this.remplirCouloir(50); } @Override public Piece apres() { this.position = (this.position+1)%this.couloir.size(); return this.couloir.get(this.position); } @Override public Piece avant() { this.position = (this.position+(this.couloir.size()-1))%this.couloir.size(); return this.couloir.get(this.position); } @Override public Piece ici() { return this.couloir.get(this.position); } private void remplirCouloir(int nbPiece) { int i; for (i = 0; i < nbPiece; i++) { Piece piece = new PieceConcrete(); this.couloir.add(piece); } } }