static void Main(string[] args) { try { ChessMatch match = new ChessMatch(); while (!match.finished) { try { Console.Clear(); Screen.printMatch(match); Console.Write("Origin: "); Position origin = Screen.readChessPosition().toPosition(); match.validateOriginPosition(origin); bool[,] possiblePositions = match.chessboard.piece(origin).possibleMoves(); Screen.printBoard(match.chessboard, possiblePositions); Console.Write("Destiny: "); Position destiny = Screen.readChessPosition().toPosition(); match.validateDestinyPosition(origin, destiny); match.performMove(origin, destiny); } catch (BoardException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Screen.printMatch(match); } catch (BoardException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
public ChessPosition getDest(ChessPosition init) { if (bor.validPosition(init.ToPosition()) && bor.pieceExists(init.ToPosition())) { if (bor.piece(init.ToPosition()).color == currentPlayer) { Piece p1 = bor.piece(init.ToPosition()); bool[,] possiblemvmnts = p1.possibleMovements(); Screen.possiblePosition(bor, possiblemvmnts); Console.Write("Destiny: "); return(Screen.readChessPosition()); } else { throw new BoardException("Invalid Play: it's not your turn"); } } else { throw new BoardException("Invalid Output:Try again"); } }
private ChessPosition getInit() { Console.Write("Origin: "); return(Screen.readChessPosition()); }