Esempio n. 1
0
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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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()
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 7
0
 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)
Esempio n. 8
0
	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()
Esempio n. 9
0
 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)
Esempio n. 10
0
 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)
Esempio n. 11
0
    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)
Esempio n. 12
0
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
Esempio n. 13
0
 def setUp(self) -> None:
     self.player = player.Player('Aaron')
Esempio n. 14
0
    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()))