static void Main(string[] args) { try { ChessGame game = new ChessGame(); while (!game.Finished) { try { Screen.PrintGame(game); Console.Write("Origem: "); Position source = Screen.ReadChessPosition().ToPosition(); game.ValidateSourcePosition(source); bool[,] posibleMovements = game.Board.Piece(source).PossibleMovements(); Console.Clear(); Screen.PrintBoard(game.Board, posibleMovements); Console.WriteLine(); Console.Write("Destino: "); Position destination = Screen.ReadChessPosition().ToPosition(); game.ValidateDestinationPosition(source, destination); game.MakePlay(source, destination); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } Screen.PrintGame(game); } } catch (BoardException e) { Console.WriteLine(e.Message); } //ChessPosition pos = new ChessPosition('a', 1); //Console.WriteLine(pos); //Console.WriteLine(pos.ToPosition()); }
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); } }