+ // Score root moves using the standard way used in main search, the moves
+ // are scored according to the order in which are returned by MovePicker.
+
+ void RootMoveList::score_moves(const Position& pos)
+ {
+ Move move;
+ int score = 1000;
+ MovePicker mp = MovePicker(pos, MOVE_NONE, ONE_PLY, H);
+
+ while ((move = mp.get_next_move()) != MOVE_NONE)
+ for (int i = 0; i < count; i++)
+ if (moves[i].move == move)
+ {
+ moves[i].mp_score = score--;
+ break;
+ }
+ }