def generateindex(self, b=None, s=''): if b == None: b = Board() self.values.update({b.tuplize(): 0.0}) if s == '' or s == b.circle: next_s = b.cross else: next_s = b.circle for m in b.status['moves']: b_next = b.copy() b_next.move(m, next_s) winner = b_next.winner() if winner == 'n': self.generateindex(b_next, next_s) elif winner == ' ': value = 0.5 self.values.update({b_next.tuplize(): value}) elif winner == b.cross: value = 1.0 self.values.update({b_next.tuplize(): value}) else: value = -1.0 self.values.update({b_next.tuplize(): value}) return self.values