static void Main(string[] args) { try { Game Game = new Game(); while (!Game.EndGame) { try { Console.Clear(); Screen.PrintGame(Game); Console.WriteLine(); Console.Write("Origin: "); Position origin = Screen.ReadPositionChess().ToPosition(); Game.ValidateOriginPosition(origin); bool[,] positionPossible = Game.Board.Piece(origin).PossibleMoviment(); Console.Clear(); Screen.PrintBoard(Game.Board, positionPossible); Console.WriteLine(); Console.Write("Destination: "); Position destination = Screen.ReadPositionChess().ToPosition(); Game.ValidateDestinationPosition(origin, destination); Game.DoMove(origin, destination); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } catch (BoardException e) { Console.WriteLine(e.Message); } }
public static void PrintMatch(ChessMatch match) { Screen.PrintBoard(match.Board); Console.WriteLine(); PrintCapturedPieces(match); Console.WriteLine(); Console.WriteLine("Turn: " + match.Turn); if (!match.EndedMatch) { Console.WriteLine("Waiting for movement: " + match.ActualPlayer); if (match.Check) { Console.WriteLine("Check!"); } } else { Console.WriteLine("Checkmate!"); Console.WriteLine("Winner: " + match.ActualPlayer); } }
static void Main(string[] args) { try { ChessMatch Match = new ChessMatch(); while (!Match.Ended) { try { Console.Clear(); Screen.PrintMatch(Match); Console.WriteLine(); Console.Write("Origem: "); Position origin = Screen.ReadPosition().ConvertPosition(); Match.ValidOriginPosition(origin); bool[,] possibleMoves = Match.Board.Piece(origin).PossibleMoves(); Console.Clear(); Screen.PrintBoard(Match.Board, possibleMoves); Console.WriteLine(); Console.Write("Destino: "); Position destiny = Screen.ReadPosition().ConvertPosition(); Match.ValidDestinyPosition(origin, destiny); Match.MakePlay(origin, destiny); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Screen.PrintMatch(Match); } catch (BoardException e) { Console.WriteLine(e.Message); } }