- // Find the moving piece
- piece = pos.piece_on(from);
-
- // If the string has more than 4 characters, try to interpret the 5th
- // character as a promotion.
- if (str.length() > 4 && piece == piece_of_color_and_type(us, PAWN))
- {
- switch (tolower(str[4])) {
- case 'n':
- return make_promotion_move(from, to, KNIGHT);
- case 'b':
- return make_promotion_move(from, to, BISHOP);
- case 'r':
- return make_promotion_move(from, to, ROOK);
- case 'q':
- return make_promotion_move(from, to, QUEEN);
- }
- }
-
- // En passant move? We assume that a pawn move is an en passant move
- // if the destination square is epSquare.
- if (to == pos.ep_square() && piece == piece_of_color_and_type(us, PAWN))
- return make_ep_move(from, to);
+ else if (token == "uci")
+ cout << "id name " << engine_name()
+ << "\nid author " << engine_authors()
+ << "\n" << Options.print_all()
+ << "\nuciok" << endl;
+ else
+ cout << "Unknown command: " << cmd << endl;
+ }
+}