def action(self, state, player=1): if random.random() < self.epsilon: move = c4.getRandomMove(state) else: move = self.greedy(state) new_state = c4.makeMove(state, player, move) self.previous_state = new_state return move
def play(self): state = c4.getNewBoard() player = 1 while not c4.isBoardFull(state): if player == 1: move = self.action(state, player) else: move = c4.getRandomMove(state) state = c4.makeMove(state, player, move) if c4.isWinner(state, player): return player player *= -1 return 0.5 # draw
def random(self, state): return c4.getRandomMove(state)