public static void PrintCapturedPieces(ChessTurns chessTurns) { Console.WriteLine("\nPieces captured: "); Console.Write("Whites: "); PrintList(chessTurns.PiecesCaptured(Colour.white)); Console.Write("\nBlacks: "); ConsoleColor colour = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; PrintList(chessTurns.PiecesCaptured(Colour.black)); Console.ForegroundColor = colour; }
public static void PrintGame(ChessTurns chessTurns) { PrintBoard(chessTurns.Board); PrintCapturedPieces(chessTurns); Console.WriteLine($"\n\nTurn: {chessTurns.Turn}"); if (!chessTurns.GameOver) { Console.WriteLine($"{chessTurns.PlayerTurn} Player's turn..."); if (chessTurns.Xeque) { Console.WriteLine("XEQUE!"); } } else { Console.WriteLine("******** XEQUEMATE! ********"); Console.WriteLine($"And the Winner is {chessTurns.PlayerTurn}!! "); } }
static void Main(string[] args) { try { ChessTurns chessTurns = new ChessTurns(); while (!chessTurns.GameOver) { try { Console.Clear(); Cover.PrintGame(chessTurns); Console.Write("\nOrigin: "); Position origin = Cover.ReadPiecePosition().ToPosition(); chessTurns.OriginPositionValidation(origin); bool[,] possiblePosition = chessTurns.Board.Piece(origin).PossibleMovements(); Console.Clear(); Cover.PrintBoard(chessTurns.Board, possiblePosition); Console.Write("\nDestination: "); Position destination = Cover.ReadPiecePosition().ToPosition(); chessTurns.DestinationPositionValidation(origin, destination); chessTurns.Play(origin, destination); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Cover.PrintGame(chessTurns); } catch (BoardException e) { Console.WriteLine($"Operation Error: {e.Message}"); } }