public void moveToAllLinks(BoardTreeNode boardNode, Position SourcePosition, int range) { foreach (var link in SourcePosition.Links) { var cloneBoard = DeepClone(boardNode.Board); cloneBoard.movePokemon(SourcePosition.guid, cloneBoard._Board[link.x, link.y].guid); boardNode.Add(new BoardTreeNode(cloneBoard)); //Console.WriteLine("Generated {0}", cloneBoard.Signature); if (range > 1) { //if (boardNode._children.ContainsKey(cloneBoard.Signature)) moveToAllLinks(boardNode.GetChild(cloneBoard.Signature), boardNode.Board._Board[link.x, link.y], range - 1); } } }
public DecisionMaker(Board board) { Console.WriteLine("Initializing Decision Maker"); rootBoardTree = new BoardTreeNode(board); }