forked from Fossana/cplusplus-cfr-poker-solver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGameTree.h
More file actions
37 lines (32 loc) · 1.02 KB
/
GameTree.h
File metadata and controls
37 lines (32 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef GAME_TREE_H
#define GAME_TREE_H
#include "TreeBuildSettings.h"
#include "State.h"
#include "Action.h"
#include "Node.h"
#include "ActionNode.h"
#include "ChanceNode.h"
#include "TerminalNode.h"
#include <vector>
#include <memory>
using std::unique_ptr;
using std::vector;
class GameTree {
private:
unique_ptr<State> get_initial_state();
void build_action(
Node* actionNode,
State& state,
int p1NumHands,
int p2NumHands,
unique_ptr<Action> action);
unique_ptr<Node> build_action_nodes(Node* parent, State& state);
unique_ptr<Node> build_chance_nodes(Node* parent, State& state);
unique_ptr<Node> build_terminal_nodes(Node* parent, State& state);
public:
unique_ptr<TreeBuildSettings> treeBuildSettings;
void print_tree(Node* root, int tabCount);
GameTree(unique_ptr<TreeBuildSettings> treeBuildSettings);
unique_ptr<Node> build();
};
#endif