public static void PrintCapturedChessman(ChessGameplay chessGameplay) { Console.WriteLine("Peças capturadas: "); Console.Write("Brancas: "); PrintGroup(chessGameplay.CapturedChessmans(Color.White)); Console.Write("Pretas: "); ConsoleColor aux = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Yellow; PrintGroup(chessGameplay.CapturedChessmans(Color.Black)); Console.ForegroundColor = aux; }
public static void PrintChessPlay(ChessGameplay chessGameplay) { PrintChessBoard(chessGameplay.Board); PrintCapturedChessman(chessGameplay); Console.WriteLine($"Turno: {chessGameplay.Round}"); if (!chessGameplay.End) { Console.WriteLine($"Aguardando jogada: {chessGameplay.CurrentPlayer}"); if (chessGameplay.Xeque) { Console.WriteLine("Xeque!"); } } else { Console.WriteLine("XEQUEMATE!"); Console.WriteLine($"Vencedor: {chessGameplay.CurrentPlayer}"); } }
public static void Main(string[] args) { try { ChessGameplay chessGameplay = new ChessGameplay(); while (!chessGameplay.End) { try { Console.Clear(); ConsoleScreen.PrintChessPlay(chessGameplay); Console.Write("\nOrigem: "); Position origin = ConsoleScreen.ReadChessPosition().toPosition(); chessGameplay.OriginPositionValidation(origin); bool[,] possibleMovements = chessGameplay.Board.ChessPiece(origin).PossibleMovements(); Console.Clear(); ConsoleScreen.PrintChessBoard(chessGameplay.Board, possibleMovements); Console.Write("Destino: "); Position destiny = ConsoleScreen.ReadChessPosition().toPosition(); chessGameplay.DestinyPositionValidation(origin, destiny); chessGameplay.PerformPlay(origin, destiny); } catch (ChessBoardException e) { Console.WriteLine(e.Message); Console.ReadKey(); } } } catch (ChessBoardException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }