import java.util.*; public abstract class JoueurAvecMemoire implements Joueur { private List coups = new ArrayList(); private List reponses = new ArrayList(); public Coup suivant(Coup precedent, Reponse reponse) { if (precedent != null) { coups.add(precedent); reponses.add(reponse); } return suivant((Coup [])coups.toArray(), (Reponse [])reponses.toArray()); } protected abstract Coup suivant(Coup [] precedents, Reponse [] reponses); }