Esempio n. 1
0
    def test_reversi_state(self):
        app = Reversi()
        app.state = 'INIT'
        self.assertEqual(app.state, app.INIT)
        self.assertEqual(app.game, app._Reversi__init)

        app.state = 'DEMO'
        self.assertEqual(app.state, app.DEMO)
        self.assertEqual(app.game, app._Reversi__demo)

        app.state = 'PLAY'
        self.assertEqual(app.state, app.PLAY)
        self.assertEqual(app.game, app._Reversi__play)

        app.state = 'END'
        self.assertEqual(app.state, app.END)
        self.assertEqual(app.game, app._Reversi__end)

        app.state = 'REINIT'
        self.assertEqual(app.state, app.REINIT)
        self.assertEqual(app.game, app._Reversi__reinit)

        app.state = 'UNDEFINED'
        self.assertEqual(app.state, 'UNDEFINED')
        self.assertEqual(app.game, app._Reversi__reinit)
class ReversiDataGenerator:
    def __init__(self):
        self.game = Reversi()
        self.round = 0
        self.current_player = 1

    def get_state_action(self, resp):
        state = copy.deepcopy(self.game.state())
        player = self.current_player
        x, y = resp["response"]["x"], resp["response"]["y"]
        action = y * 8 + x if x != -1 and y != -1 else -1
        self.game.step(action)
        self.current_player *= -1
        return player, state, action