コード例 #1
0
ファイル: __init__.py プロジェクト: nishio/tricolore
    def nextmove(self):
        #assert self.game.next == self.side
        if self.game.next != self.side:
            # opponent did pass
            self.game.switch_user()

        actions = self.game.get_possible_actions()
        if not actions:
            self.game.switch_user()
            return ('PASS', None, None)
        pos, color = montecarlo_ucb(actions, self.game)
        self.game.print_map()
        print pos, color
        pos, color = input('(pos, color)>>>')
        put(self.game, pos, color)
        self.game.switch_user()
        x, y = pos
        if color == self.side:
            ret = ('MOVE', (y, x), self.side_s)
        else:
            ret = ('MOVE', (y, x), 'WHITE')

        if VERBOSE:
            print 'nextmove called, returns:', ret
            self.game.print_map()
        return ret
コード例 #2
0
ファイル: __init__.py プロジェクト: nishio/tricolore
 def move(self, pos, color):
     assert self.game.next == self.opposite
     if color == 'WHITE':
         color = reverse(self.opposite)
     elif color == 'PASS':
         if VERBOSE:
             print 'move called:', pos, color
             self.game.print_map()
         self.game.switch_user()
         return
     else:
         color = self.opposite
     y, x = pos
     put(self.game, (x, y), color)
     if VERBOSE:
         print 'move called:', pos, color
         self.game.print_map()
     self.game.switch_user()
     if OUTPUT_IMAGE:
         renderer.draw(self.game.map)