#include <sstream>
#include <string>
-#include "book.h"
#include "evaluate.h"
#include "misc.h"
#include "move.h"
#include "position.h"
#include "san.h"
#include "search.h"
-#include "uci.h"
#include "ucioption.h"
using namespace std;
cout << "uciok" << endl;
}
else if (token == "ucinewgame")
- {
- push_button("New Game");
pos.from_fen(StartPositionFEN);
- }
else if (token == "isready")
cout << "readyok" << endl;
else if (token == "position")
if (!(uip >> token)) // operator>>() skips any whitespace
return;
- if (token == "name" && uip >> name)
- {
- while (uip >> token && token != "value")
- name += (" " + token);
+ if (token != "name" || !(uip >> name))
+ return;
- if (token == "value" && uip >> value)
- {
- while (uip >> token)
- value += (" " + token);
+ while (uip >> token && token != "value")
+ name += (" " + token);
- set_option_value(name, value);
- } else
- push_button(name);
+ if (Options.find(name) == Options.end())
+ {
+ cout << "No such option: " << name << endl;
+ return;
}
+
+ if (token != "value" || !(uip >> value))
+ {
+ Options[name].set_value("true");
+ return;
+ }
+
+ while (uip >> token)
+ value += (" " + token);
+
+ Options[name].set_value(value);
}
int time[2] = {0, 0}, inc[2] = {0, 0};
int movesToGo = 0, depth = 0, nodes = 0, moveTime = 0;
bool infinite = false, ponder = false;
- Move searchMoves[500];
+ Move searchMoves[MOVES_MAX];
searchMoves[0] = MOVE_NONE;
tm = get_system_time() - tm;
std::cout << "\nNodes " << n
<< "\nTime (ms) " << tm
- << "\nNodes/second " << (int)(n/(tm/1000.0)) << std::endl;
+ << "\nNodes/second " << int(n / (tm / 1000.0)) << std::endl;
}
}