Moderator: Andres Valverde
janggi-korea wrote:1. In three variations, if i double-click the "King", the "King" disappears, and the king can be moved in place regardless of the Test Legality check.
if (is_ok(from) && UCI::square(pos, from) == token)
if (is_ok(from) && UCI::square(pos, from) == token && from != to)
2. When I use "move now/Retract Move" the highlight dragging disappears and I can't move the piece. If I do movement by dragging with the mouse,(Forced movement) the game stop and the engine continue to run ponder.
else if (token == "remove")
{
if (moveList.size() > 1)
{
if (pondeMove != "")
{
Threads.stop = true;
Threads.main()->wait_for_search_finished();
undo_move(pos, moveList, states); // take back ponder move
}
undo_move(pos, moveList, states);
undo_move(pos, moveList, states);
}
}
3. Engine vs. Human When playing, sometimes the engine does not move and only pondering. And when I use the "edit game", the engine does not search for itself, it searches for my play movement.
I copied the FEN and started the game again. And the engine searched itself again normally.
Please check and solve it.
** Engine- "Hint / book" If i Use the menu the ponder stops. And I can't use Hint and Book.
But after that, i can start game and ponder normally again with one move.
I think this is probably because the stockfish engine doesn't support it. right?
else
{
// process move string
if (token == "usermove")
is >> token;
else if (token == "usermove")
{
// process move string
is >> token;
sync_cout << "Error (unknown command): " << token << sync_endl;
sync_cout << "Illegal move: " << token << sync_endl;
}
}
} // namespace XBoard
} else
sync_cout << "Error (unknown command): " << token << sync_endl;}
} // namespace XBoard
else if (token == "?" && ponderMove == "" && !Options["UCI_AnalyseMode"])
{
Threads.stop = true;
Threads.main()->wait_for_search_finished();
}
sync_cout << "# command: '" << token << "'" << sync_endl;
void StateMachine::process_command(Position& pos, std::string token, std::istringstream& is, StateListPtr& states) {
void StateMachine::process_command(Position& pos, std::string token, std::istringstream& is, StateListPtr& states) {
<< "highlight=1 name=0 sigint=0 ping=1 myname=\""
<< "highlight=1 name=0 sigint=0 ping=1 debug=1 myname=\""
if (moveAfterSearch && token != "ptell")
if (moveAfterSearch && token != "ptell" && token != "?")
void StateMachine::process_command(Position& pos, std::string token, std::istringstream& is, StateListPtr& states) {
if(token == "rejected")
{
is >> token;
if(token != GOTMOVE) return; // [HGM] all other feature rejections are ignored
}
if (token == GOTMOVE && ponderMove == "") // [HGM] a search for thinking announces its termination
{
// abort search in bughouse when receiving "holding" command
bool doMove = token != "holding" || Threads.abort.exchange(true);
// Threads.stop = true;
// Threads.main()->wait_for_search_finished();
if (doMove)
{
Move m = Threads.main()->bestThread->rootMoves[0].pv[0];
if(m != MOVE_NONE)
{
sync_cout << "move " << UCI::move(pos, m) << sync_endl; // print move
do_move(pos, moveList, states, m); // and do it ourselves
moveAfterSearch = false;
if(Options["Ponder"] &&
(Threads.main()->bestThread->rootMoves[0].pv.size() > 1 ||
Threads.main()->bestThread->rootMoves[0].extract_ponder_from_tt(pos)))
{
m = Threads.main()->bestThread->rootMoves[0].pv[1]; // ponder move
ponderMove = UCI::move(pos, m); // remember it (indicates we are pondering)
sync_cout << "Hint: " << ponderMove << sync_endl; // print it
do_move(pos, moveList, states, m); // perform it
limits.startTime = now(); // As early as possible!
Threads.start_thinking(pos, states, limits, true); // and start pondering
}
}
}
}
else if(token == GOTMOVE)
ponderMove = "";
else if (token == "protover")
Return to Winboard and related Topics
Users browsing this forum: No registered users and 30 guests