Ejemplo n.º 1
0
        /// <summary>
        /// Displays the battle field on the console
        /// </summary>
        /// <param name="renderer">A renderer responsible for showing messages on the output</param>
        public void DisplayField(IRenderer renderer)
        {
            // top side numbers
            renderer.Output.AppendFormat("{0}", new string(' ', 2));
            for (int i = 0; i < this.FieldSize; i++)
            {
                renderer.Output.AppendFormat(" {0}", i);
            }

            renderer.Output.AppendLine();

            renderer.Output.AppendFormat("{0}", new string(' ', 2));
            for (int i = 0; i < 2 * this.FieldSize; i++)
            {
                renderer.Output.Append("-");
            }

            renderer.Output.AppendLine();

            // top side numbers
            for (int i = 0; i < this.FieldSize; i++)
            {
                // left side numbers
                renderer.Output.AppendFormat("{0}|", i);
                for (int j = 0; j < this.FieldSize; j++)
                {
                    renderer.Output.AppendFormat(" {0}", this.field[i, j]);
                }

                renderer.Output.AppendLine();
            }

            renderer.RenderOutput();
        }