import java.util.*;
public class Jeu {
  private Plateau plateau;
  private Joueurs joueurs;
  private Joueur gagnant;
  public Jeu(Joueurs lesJoueurs) {
    plateau = new Plateau(this,10);
    joueurs = lesJoueurs;
    Iterator<Joueur> j = joueurs.iterator();
    while (j.hasNext()) {
      j.next().poseSonPion(plateau);
    }
    gagnant = null;
  }
  public int nombreDeJoueurs() {
    return joueurs.nombre();
  }
  public void add(Joueur j) {
    joueurs.add(j);
    j.poseSonPion(plateau);
  }
  public void deroule() {
    System.out.println(plateau);
    while (!termine()) {
      Joueur celuiQuiJoue = joueurs.suivant();
      celuiQuiJoue.joue();
      System.out.println(plateau);
      if (celuiQuiJoue.aGagne()) {
        gagnant = celuiQuiJoue;
      }
    }
  }
  public boolean termine() {
    return gagnant!=null;
  }
  public Joueur gagnant() {
    return gagnant;
  }
}