+/// the highest scored one. There is also a second version that\r
+/// lowers the priority of moves that attack the same square,\r
+/// so that if the best move that attack a square fails the next\r
+/// move picked attacks a different square if any, not the same one.
+
+int MovePicker::find_best_index() {
+
+ int bestScore = -10000000, bestIndex = -1;
+
+ for (int i = movesPicked; i < numOfMoves; i++)
+ if (moves[i].score > bestScore)
+ {
+ bestIndex = i;
+ bestScore = moves[i].score;
+ }
+ return bestIndex;
+}
+
+int MovePicker::find_best_index(Bitboard* squares, int values[]) {\r