generate children
This commit is contained in:
parent
dcf325e73e
commit
a75decca44
|
@ -112,10 +112,21 @@ class GameNode(object):
|
||||||
def runSimulation(self):
|
def runSimulation(self):
|
||||||
self.backPropagate(self.simulate())
|
self.backPropagate(self.simulate())
|
||||||
|
|
||||||
|
def getChildren(self):
|
||||||
|
possibleMoves = self.state.getPossibleMoves()
|
||||||
|
children = []
|
||||||
|
|
||||||
|
for move in possibleMoves:
|
||||||
|
newState = self.state.playMove(move)
|
||||||
|
childNode = GameNode(newState, self.state)
|
||||||
|
children.append(childNode)
|
||||||
|
|
||||||
|
return children
|
||||||
|
|
||||||
def chooseChild(self):
|
def chooseChild(self):
|
||||||
# Define children nodes
|
# Define children nodes
|
||||||
if(not self.children):
|
if(not self.children):
|
||||||
self.children = self.getChildren(self.state)
|
self.children = self.getChildren()
|
||||||
|
|
||||||
# Run simulation on leaf nodes
|
# Run simulation on leaf nodes
|
||||||
if(len(self.children) == 0):
|
if(len(self.children) == 0):
|
||||||
|
|
Loading…
Reference in New Issue