Get the children sorting figured out

This commit is contained in:
Eryn Wells 2017-09-30 13:56:00 -07:00
parent a29e9bd8cf
commit 878d8f479c

View file

@ -96,9 +96,6 @@ class Board:
Minimax algorithm, implemented recursively, to evaluate board state and
make a move.
'''
if self.score:
return self.score
score = None
winner = self.winner
if winner == Board.O:
@ -110,7 +107,7 @@ class Board:
else:
minmax = max if self.is_o_turn else min
score = minmax([c.evaluate() for c in self.children])
self._children.sort(key=lambda b: b.score, reverse=self.is_o_turn)
self._children.sort(key=lambda b: b.score, reverse=True)
self.score = score
return self.score
@ -125,8 +122,7 @@ class Board:
yield Board(b)
def move(self):
for c in self.children:
c.evaluate()
self.evaluate()
try:
return self.children[0]
except IndexError: