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