contextStack -> positionStack
This commit is contained in:
parent
28446d2254
commit
4cb10cf184
|
@ -519,7 +519,7 @@ value_t MillGameAi_ab::alphaBetaPruning(depth_t depth, value_t alpha, value_t be
|
|||
|
||||
for (auto child : node->children) {
|
||||
// 棋局入栈保存,以便后续撤销着法
|
||||
contextStack.push(dummyGame.position);
|
||||
positionStack.push(dummyGame.position);
|
||||
|
||||
// 执行着法
|
||||
dummyGame.command(child->move);
|
||||
|
@ -543,8 +543,8 @@ value_t MillGameAi_ab::alphaBetaPruning(depth_t depth, value_t alpha, value_t be
|
|||
value = alphaBetaPruning(depth - 1 + epsilon, alpha, beta, child);
|
||||
|
||||
// 棋局弹出栈,撤销着法
|
||||
dummyGame.position = contextStack.top();
|
||||
contextStack.pop();
|
||||
dummyGame.position = positionStack.top();
|
||||
positionStack.pop();
|
||||
|
||||
if (dummyGame.position.turn == PLAYER_1) {
|
||||
// 为走棋一方的层, 局面对走棋的一方来说是以 α 为评价
|
||||
|
|
|
@ -215,9 +215,9 @@ private:
|
|||
|
||||
// 局面数据栈
|
||||
//#ifdef MEMORY_POOL
|
||||
// StackAlloc<MillGame::Position, MemoryPool<MillGame::Position> > contextStack;
|
||||
// StackAlloc<MillGame::Position, MemoryPool<MillGame::Position> > positionStack;
|
||||
//#else
|
||||
stack<Position, vector<Position> > contextStack;
|
||||
stack<Position, vector<Position> > positionStack;
|
||||
//#endif
|
||||
|
||||
// 标识,用于跳出剪枝算法,立即返回
|
||||
|
|
|
@ -997,13 +997,11 @@ void Game::setTurn(player_t player)
|
|||
|
||||
position.turnId = Player::toId(position.turn);
|
||||
position.turnChar = Player::idToCh(position.turnId);
|
||||
//context.turnStr = Player::chToStr(context.turnChar);
|
||||
|
||||
position.opponent = Player::getOpponent(player);
|
||||
|
||||
position.opponentId = Player::toId(position.opponent);
|
||||
position.opponentChar = Player::idToCh(position.opponentId);
|
||||
//context.opponentStr = Player::chToStr(context.opponentChar);
|
||||
}
|
||||
|
||||
void Game::changeTurn()
|
||||
|
|
Loading…
Reference in New Issue