Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 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();
     }
 }
Exemplo n.º 4
0
        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();
        }