本文整理汇总了C++中MoveList::dec_ply方法的典型用法代码示例。如果您正苦于以下问题:C++ MoveList::dec_ply方法的具体用法?C++ MoveList::dec_ply怎么用?C++ MoveList::dec_ply使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MoveList
的用法示例。
在下文中一共展示了MoveList::dec_ply方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: em
TEST(MovesTest, Constructor)
{
Board board;
Pieces pieces;
Position position;
MoveList list;
Move m;
ExtendedMove em(m, 50);
list[0] = em;
EXPECT_EQ(em.value(), list[0].value());
EXPECT_EQ(0, list.cur_ply());
Moves moves(board, pieces, position, list);
// Test if MoveList::inc_ply() has been implicitly called by Moves()
EXPECT_EQ(1, list.cur_ply());
EXPECT_EQ(BEST, moves.state());
EXPECT_EQ(0, moves.count(BEST));
EXPECT_EQ(0, moves.count(GOOD_CAPTURES));
EXPECT_EQ(0, moves.count(KILLERS));
EXPECT_EQ(0, moves.count(BAD_CAPTURES));
EXPECT_EQ(0, moves.count(QUIET_MOVES));
for (int i = 0; i < MAX_PLY; ++i) {
EXPECT_EQ(0, list[i].value());
}
list.dec_ply();
EXPECT_EQ(em.value(), list[0].value());
}
示例2:
TEST(MoveListTest, Assignement)
{
MoveList moves;
Move m;
for (int i = 0; i < MAX_PLY; ++i) {
for (int j = 0; j < MAX_MOVES; ++j) {
ExtendedMove em1(m, i + j);
moves[j] = em1;
EXPECT_EQ(em1, moves[j]);
EXPECT_EQ(em1.value(), moves[j].value());
}
moves.inc_ply();
}
for (int i = MAX_PLY - 1; i > 0; --i) {
moves.dec_ply();
for (int j = 0; j < MAX_MOVES; ++j) {
ExtendedMove em1(m, i + j);
EXPECT_EQ(em1, moves[j]);
EXPECT_EQ(em1.value(), moves[j].value());
}
}
moves.clear();
for (int i = 0; i < MAX_PLY; ++i) {
for (int j = 0; j < MAX_MOVES; ++j) {
ExtendedMove em1(m, i + j);
EXPECT_EQ(em1, moves[j]);
EXPECT_EQ(em1.value(), moves[j].value());
}
moves.inc_ply();
}
}