本文整理汇总了C++中TTEntry::getMove方法的典型用法代码示例。如果您正苦于以下问题:C++ TTEntry::getMove方法的具体用法?C++ TTEntry::getMove怎么用?C++ TTEntry::getMove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TTEntry
的用法示例。
在下文中一共展示了TTEntry::getMove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pos
void
TranspositionTable::extractPVMoves(const Position& rootPos, const Move& mFirst, std::vector<Move>& pv) {
Position pos(rootPos);
Move m(mFirst);
UndoInfo ui;
std::vector<U64> hashHistory;
while (true) {
pv.push_back(m);
pos.makeMove(m, ui);
if (contains(hashHistory, pos.zobristHash()))
break;
hashHistory.push_back(pos.zobristHash());
TTEntry ent;
ent.clear();
probe(pos.historyHash(), ent);
if (ent.getType() == TType::T_EMPTY)
break;
ent.getMove(m);
MoveList moves;
MoveGen::pseudoLegalMoves(pos, moves);
MoveGen::removeIllegal(pos, moves);
bool contains = false;
for (int mi = 0; mi < moves.size; mi++)
if (moves[mi].equals(m)) {
contains = true;
break;
}
if (!contains)
break;
}
}