●麻雀をする者を表すクラス Player のイメージ(Java)

/** ツモ切りする Player */
public class TsumogiriPlayer extends Player {
  public void turn(Context context) {
  }
}

/**
 * 東を引いてこない限りツモ切り。
 * 東を引いてきたら、面前の一番左にある牌を捨てる Player
 */
public class ILoveTon extends Player {
  public void turn(Context context) {
    Pai tsumo = context.getTsumo();
    if (tsumo.equals("TO")) {
      Pai[] menzen = context.getMenzen();
      context.setDrop(menzen[0]);
    }
  }
}

turn(Context) が自分の順番になるたびに呼ばれる、と想定して書いたのですが、
このままだとほかの人が鳴いたことを知ることができないなぁ・・・。
まあ、案ということで・・。

上の例では turn(Context) が呼ばれたときに渡される Context オブジェクトには、
あらかじめ切る(Dropする)牌として、自模ったものが設定されているつもり。