contextStack -> positionStack

This commit is contained in:
CalciteM Team 2019-09-15 18:56:06 +08:00
parent 28446d2254
commit 4cb10cf184
3 changed files with 5 additions and 7 deletions

View File

@ -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) {
// 为走棋一方的层, 局面对走棋的一方来说是以 α 为评价

View File

@ -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
// 标识,用于跳出剪枝算法,立即返回

View File

@ -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()