Exemplo n.º 1
0
        public static void RenderToConsole(this BoardState b)
        {
            if (b == null)
            {
                throw new ArgumentNullException(nameof(b));
            }

            for (int rank = 8; rank >= 1; rank--)
            {
                for (int file = 0; file < 8; file++)
                {
                    Square s = ((File)file).GetSquare(rank);
                    Console.BackgroundColor = s.GetColour() == Colour.Dark ? ConsoleColor.DarkGreen : ConsoleColor.Gray;

                    Piece p = b.PieceAt(s);

                    Console.ForegroundColor = p.GetPlayer() == Player.Black ? ConsoleColor.Black : ConsoleColor.White;

                    Console.Write($" {p.ToAbbr()} ");
                }
                Console.WriteLine();
            }


            Console.ResetColor();
        }