def automated_game(output, rounds, games): for game_i in range(games): players = list() for i in range(4): player_ctrl = FullyRandomPlayer(Player("player_" + str(i))) players.append(player_ctrl) ge = GameController(players, nr_rounds=rounds) ge.start_game() time_stamp = str(int(time.time() * 1000)) # Millisecond accuracy I think new_file = open(os.path.join(output, 'game_{}.json'.format(time_stamp)), mode='w') json.dump(ge.repr_json(), new_file, cls=ComplexJSONEncoder, indent=4)
def post(self): """ Create a game, POSTdata format: { 'players': [123, 456, 789] } """ parser = reqparse.RequestParser() parser.add_argument('players', type=list, location='json', required=True) args = parser.parse_args() return gc.create(args['players'])
def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.cc = ConfigurationController(self) self.gc = GameController(self.cc, self.updateTable) self.createConnections() header = self.ui.tableWidget.horizontalHeader() header.setSectionResizeMode(QHeaderView.Stretch) header = self.ui.tableWidget.verticalHeader() header.setSectionResizeMode(QHeaderView.Stretch) self.imgImp = ImageImports() self.ui.logoLabel.setPixmap( QtGui.QPixmap(self.imgImp.logo).scaledToHeight(200)) self.updateTable()
def get(self, id): """ Get a game - example { u'complete': False, u'current_frame': 1, u'current_player': {u'id': 62621, u'name': u'luigi'}, u'frames': [ {u'frames': [{u'score': 9, u'shots': [4, 5]}], u'pid': 61617}, {u'frames': [], u'pid': 62621} ], u'id': 73360, u'players': [ {u'id': 61617, u'name': u'mario'}, {u'id': 62621, u'name': u'luigi'} ], u'started': True, u'totals': {u'61617': 9, u'62621': 0} } """ return gc.get(id) or abort(404)
from controllers import GameController gc = GameController() gc.play()
def get(self): return GameController.update_games()
def put(self): return GameController.populate_games()
def assert_stdout(self, expected_output, stdout): try: GameController().run() except StopIteration: pass self.assertIn(expected_output, stdout.getvalue())
from controllers import GameController import sys if __name__ == "__main__": # This is the main "entrypoint" to the game player = sys.argv[1] game = GameController(player) game.main_menu()
def post(self, gid, pid): parser = reqparse.RequestParser() parser.add_argument('shots', type=list, location='json', required=True) args = parser.parse_args() return gc.frame_for_player(gid, pid, args['shots'])
#!/usr/bin/env python # -*- coding: utf-8 -*- from controllers import GameController if __name__ == '__main__': GameController().run()