public static void PrintCapturedPieces(ChessPlay play) { Console.WriteLine("Captured Pieces:"); Console.Write("Whites: "); PrintSet(play.CapturedPieces(Color.White)); Console.WriteLine(); Console.Write("Blacks: "); ConsoleColor aux = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Yellow; PrintSet(play.CapturedPieces(Color.Black)); Console.ForegroundColor = aux; Console.WriteLine(); }
public static void showDeadPieces(ChessPlay play) { Console.WriteLine("Peças mortas: "); Console.Write("Brancas: "); showSet(play.getDeadPieces(Color.white)); ConsoleColor auxColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(); Console.Write("Pretas: "); showSet(play.getDeadPieces(Color.black)); Console.ForegroundColor = auxColor; }
static void Main(string[] args) { try { ChessPlay play = new ChessPlay(); while (!play.finished) { try { Console.Clear(); Screen.PrintBoard(play); Console.WriteLine(); Console.Write("Origin: "); Position origin = Screen.ReadChessPosition().ToPosition(); play.ValidateOriginPosition(origin); bool[,] possiblePositions = play.board.piece(origin).PossibleMovements(); Console.Clear(); Screen.DrawBoard(play.board, possiblePositions); Console.WriteLine(); Console.Write("Destination: "); Position destination = Screen.ReadChessPosition().ToPosition(); play.ValidateDestinationPosition(origin, destination); play.MakePlay(origin, destination); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Screen.PrintBoard(play); } catch (BoardException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
static void Main(string[] args) { try { ChessPlay play = new ChessPlay(); while (!play.hasFinish) { try { Console.Clear(); Screen.showPlayInfo(play); Console.WriteLine(); Console.WriteLine("origem: "); Position origin = Screen.readPosition().toPosition(); play.validateOriginPosition(origin); bool[,] possiblePositions = play.board.getPiece(origin).possibleMovements(); Console.Clear(); Screen.showBoard(play.board, possiblePositions); Console.WriteLine(); Console.WriteLine("destino: "); Position destiny = Screen.readPosition().toPosition(); play.validateDestinyPosition(origin, destiny); play.makeMove(origin, destiny); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Screen.showPlayInfo(play); } catch (BoardException e) { Console.WriteLine(e.Message); } }
public static void PrintBoard(ChessPlay play) { DrawBoard(play.board); Console.WriteLine(); PrintCapturedPieces(play); Console.WriteLine(); Console.WriteLine("Turn: " + play.turn); if (!play.finished) { Console.WriteLine("Waiting Play: " + play.currentPlayer); if (play.check) { Console.WriteLine("Check!"); } } else { Console.WriteLine("CHECKMATE!"); Console.WriteLine("Winner: " + play.currentPlayer); } }
internal static void showPlayInfo(ChessPlay play) { Console.WriteLine(); showBoard(play.board); Console.WriteLine(); Console.WriteLine($"Turno: #{play.turn}"); if (!play.hasFinish) { Console.WriteLine($"Jogador: #{play.actualPlayer}"); if (play.isCheck) { Console.WriteLine("Xeque"); } showDeadPieces(play); } else { Console.WriteLine("Xequemate"); Console.WriteLine($"O jogador vencedor foi o #{play.actualPlayer}"); } }