Optimized findPossibleMoves in Board.scala