Exemple #1
0
        public GamePlayoutNode <TState, TAction> Expand(GamePlayoutNode <TState, TAction> parentNode, GamePlayoutNode <TState, TAction> childNode)
        {
            if (parentNode.Children == null)
            {
                parentNode.Children = new Dictionary <TAction, GamePlayoutNode <TState, TAction> >();
            }

            if (parentNode.Children.TryGetValue(childNode.LastAction, out var existingNode))
            {
                return(existingNode);
            }
            else
            {
                parentNode.Children.Add(childNode.LastAction, childNode);
                return(childNode);
            }
        }
Exemple #2
0
 public GamePlayoutTree(GamePlayoutNode <TState, TAction> rootNode) : base(rootNode)
 {
 }
Exemple #3
0
 public GamePlayoutNode <TState, TAction> CreatePlayoutNode(GamePlayoutNodeType type, TState gameState, TAction lastAction, GamePlayoutNode <TState, TAction> parentNode)
 {
     return(new GamePlayoutNode <TState, TAction>(type, gameState, lastAction, parentNode));
 }