def create_new_player(email, password, player_info): user = get_user(email, password) newUniverse = universe.Universe() solar1 = newUniverse.solarSystems[0] solar2 = newUniverse.solarSystems[1] solar3 = newUniverse.solarSystems[2] randLocation = universe.getRandLocation(newUniverse) newPlayer = player.Player(player_info['name'], player_info['prefDifficulty'], player_info['skillPoints'], randLocation) date = str(datetime.today()) for punct in "<>?:;,./{}[]|+=_-)(*&^%$#@!~`": date = date.replace(punct, "_") email_tag = str(email).replace('.', '_') pickle_player = jsonpickle.encode(newPlayer) pickle_solar1, pickle_solar2, pickle_solar3 = jsonpickle.encode( solar1), jsonpickle.encode(solar2), jsonpickle.encode(solar3) db.child('users').child(email_tag).child("players").child(date).child( "player_info").set(pickle_player) db.child('users').child(email_tag).child("players").child(date).child( "universe").child('solar1').set(pickle_solar1) db.child('users').child(email_tag).child("players").child(date).child( "universe").child('solar2').set(pickle_solar2) db.child('users').child(email_tag).child("players").child(date).child( "universe").child('solar3').set(pickle_solar3) db.child('users').child(email_tag).child("current_player").set(date)
def test_init(self): # execute method test_player = player.Player() # assert expected outcome self.assertEqual('empty', test_player.status) self.assertEqual(10, len(test_player.ID)) self.assertEqual(3, test_player.position)
def test_capture_figure(self): # set object state test_figure = figure.Figure() test_player = player.Player() # execute method test_player.capture_figure(test_figure) # assert expected outcome self.assertEqual(test_figure, test_player.captured_figure) self.assertEqual('full', test_player.status)
def __init__(self, player_names): self.players = [player.Player(name) for name in player_names] self.units = { player_: [ Constructor(player_, self._remove_unit), Constructor(player_, self._remove_unit) ] for player_ in self.players } self.pending_defeat = set()
def test_empty(self): # set context test_figure = figure.Figure() test_player = player.Player() test_player.captured_figure = test_figure # execute method test_player.empty() # assert expected outcome self.assertIsNone(test_player.captured_figure) self.assertEqual('empty', test_player.status)
def test_get_stats(self): # set context test_player = player.Player() test_stats = { 'id': test_player.ID, # random string that identifies player in server 'name': test_player.name, # name chosen by player 'status': test_player.status, # status of the game's character 'score': test_player.score} # execute method results = test_player.get_stats() # assert expected outcome self.assertEqual(test_stats, results)
def test_reset(self): # set context test_player = player.Player() test_player.status = 'qerqewr' test_player.online = 'qerqewr' test_player.score = 5 test_player.steps = 6 # execute method test_player.reset() # assert expected outcome self.assertIsNone(test_player.captured_figure) self.assertEqual('empty', test_player.status) self.assertEqual('', test_player.online) self.assertEqual(0, test_player.score) self.assertEqual(0, test_player.steps)
def game(self): self.player = player.Player() # start view self.view = view.View() # online objects self.mq = zmq_client.ZmqConnector() self.broker = online_broker.OnlineBroker(self.player, self.mq) # start controller self.ctrl = controller.Controller(self.view, self.player, self.mq, self.broker) self.ctrl.load_external_resources(self.ctrl.view, os.path.join(os.getcwd(), '../resources')) self.ctrl.main_loop() pygame.quit() sys.exit()
def get_users(self, conn, page, name_filter): cursor = conn.cursor() try: cursor.execute("select * from table(user_ops.getUsers(:row_start, :row_count, :filter))", { "row_start": int((page - 1) * UserConsoleController.items_per_page + 1), "row_count": int(UserConsoleController.items_per_page), "filter": str(name_filter) } ) return [player.Player(*row) for row in cursor] except cx_Oracle.DatabaseError, exception: print 'Failed to get users from WEGAS' printException(exception) self.error_messages.append('Failed to get users from WEGAS\n') self.error_messages.append(exception)
def test_action(self): # set state # create player instance test_player = player.Player() # set player at position 0 test_player.position = 0 # create column list column_list = [column.Column()] # position 0 # dictionary of coordinates returned by action() ray_coords = { 'position': 0, # player's position in the board (column number) 'top': 0, # where the first figure in that column starts, in pixels 'x': 0, # pixel number of x coordinate for ray start 'y': 0, # pixel number of x coordinate for ray start 'c': 0 # counter } # test empty player, full column column_list[0].figures = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 10 elements == full column test_player.status = 'empty' coords = test_player.action(column_list) self.assertNotEqual(ray_coords, coords) # test empty player, empty column column_list[0].figures = [] # 10 elements == full column test_player.status = 'empty' coords = test_player.action(column_list) self.assertEqual(ray_coords, coords) # test empty player, normal column column_list[0].figures = [0, 1, 2, 3, ] # 10 elements == full column test_player.status = 'empty' coords = test_player.action(column_list) self.assertNotEqual(ray_coords, coords) # test full player, full column column_list[0].figures = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 10 elements == full column test_player.status = 'full' coords = test_player.action(column_list) self.assertEqual(ray_coords, coords) # test full player, empty column column_list[0].figures = [] # 10 elements == full column test_player.status = 'full' coords = test_player.action(column_list) self.assertNotEqual(ray_coords, coords) # test full player, normal column column_list[0].figures = [0, 1, 2, 3, 4, 5, ] # 10 elements == full column test_player.status = 'full' coords = test_player.action(column_list) self.assertNotEqual(ray_coords, coords)
def test_move_player(self): # set object state test_player = player.Player() test_position = 5 steps_before = test_player.steps LEFT = 'left' RIGHT = 'right' # execute method test_player.position = test_position test_player.move_player(LEFT) # assert expected outcome self.assertEqual(test_position - 1, test_player.position) self.assertEqual(steps_before + 1, test_player.steps) # set object state steps_before = test_player.steps test_player.position = test_position # execute method test_player.move_player(RIGHT) # assert expected outcome self.assertEqual(test_position + 1, test_player.position) self.assertEqual(steps_before + 1, test_player.steps) # edge cases # set object state test_player.position = 0 steps_before = test_player.steps # execute method test_player.move_player(LEFT) # assert expected outcome self.assertEqual(0, test_player.position) self.assertEqual(steps_before, test_player.steps) # set object state test_player.position = 6 steps_before = test_player.steps # execute method test_player.move_player(RIGHT) # assert expected outcome self.assertEqual(6, test_player.position) self.assertEqual(steps_before, test_player.steps)
def get_by_id(player_id, skip_update=False): if player_id in player_cache: if not skip_update: update(player_cache[player_id]) return player_cache[player_id] conn = db_ops.get_connection() cursor = conn.cursor() cursor.execute("select * from player m " "where m.id = :user_id", {"user_id": player_id}) temp_data = cursor.fetchone() cursor.close() if temp_data is not None: player_id, name, password, loadout_id, in_match, mmr, token, player_level = temp_data else: return None result = player.Player(player_id, name, password, loadout_id, in_match, mmr, player_level, token) player_cache[player_id] = result return result
def setUp(self) -> None: self.player = player.Player('Aaron')
def get_user(self, conn, user_id): cursor = conn.cursor() cursor.execute("select * from player where id = :id", {"id": user_id}) return player.Player(*(cursor.fetchone()))