Beispiel #1
0
    private static bool IsInCheck(PlayerColor color, Board board, Position origin, Position destination)
    {
        var move = new Move(origin, destination, board);

        var newBoard = new Board(move, board);

        var enemyMoveOptions = GetUncheckedMoveOptions(color.Enemy(), newBoard, new List <Position>());

        return(Checker.IsInCheck(color, newBoard, enemyMoveOptions));
    }
Beispiel #2
0
 private static bool PawnAttackLegality(Position destination, PlayerColor color, Board board)
 {
     return(board.InBounds(destination) && board[destination].Color == color.Enemy());
 }