| 454 | } |
| 455 | |
| 456 | shared_ptr<TerminalNode> GameTree::generateTerminalNode(json meta, string round, shared_ptr<GameTreeNode> parent) { |
| 457 | vector<double> player_payoff_list = meta["payoff"]; |
| 458 | vector<double> player_payoff(player_payoff_list.size()); |
| 459 | for(int one_player = 0;one_player < player_payoff_list.size();one_player ++){ |
| 460 | |
| 461 | double tmp_payoff = player_payoff_list[one_player]; |
| 462 | player_payoff[one_player] = tmp_payoff; |
| 463 | } |
| 464 | |
| 465 | //节点上的下注额度 |
| 466 | double pot = meta["pot"]; |
| 467 | |
| 468 | GameTreeNode::GameRound game_round = this->strToGameRound(std::move(round)); |
| 469 | // 多人游戏的时候winner就不等于当前节点的玩家了,这里要注意 |
| 470 | int player = meta["player"]; |
| 471 | |
| 472 | return make_shared<TerminalNode>(player_payoff,player,game_round,pot,parent); |
| 473 | } |
| 474 | |
| 475 | shared_ptr<GameTreeNode> GameTree::getRoot() { |
| 476 | return this->root; |
no test coverage detected