public void Print(IGooseGamePrinter printer) { for (int i = 1; i <= _tiles; ++i) { PrintTile(i, printer); } }
private void PrintTile(int tile, IGooseGamePrinter printer) { var specialTile = _specialTiles.FirstOrDefault(x => x.Apply(tile)); if (specialTile != null) { specialTile.Print(tile, printer); } else { printer.Print(tile); } }
public void Print(int tileNumber, IGooseGamePrinter printer) { printer.Print(tileNumber, this); }