public string Print(IEnumerable <Field> fields) { var builder = new FieldPrintOutputBuilder(); var fieldList = fields as List <Field> ?? new List <Field>(fields); var i = 0; foreach (var field in fieldList) { builder.AddHeader(); i++; AddFieldToPrintOutput(field, builder); if (i < fieldList.Count) { builder.AddLineTerminator(); } } return(builder.Build()); }
private static void AddFieldToPrintOutput(Field field, FieldPrintOutputBuilder builder) { for (var i = 0; i < field.Rows; i++) { for (var j = 0; j < field.Columns; j++) { if (field.Content[i][j] == '*') { builder.AddCharacter('*'); } else { var number = field.CountNumberOfAdjacentBombs(j, i); builder.AddCharacter(number.ToString(CultureInfo.InvariantCulture)[0]); } } builder.AddLineTerminator(); } }
public string Print(IEnumerable<Field> fields) { var builder = new FieldPrintOutputBuilder(); var fieldList = fields as List<Field> ?? new List<Field>(fields); var i = 0; foreach (var field in fieldList) { builder.AddHeader(); i++; AddFieldToPrintOutput(field, builder); if (i < fieldList.Count) { builder.AddLineTerminator(); } } return builder.Build(); }