コード例 #1
0
    def generateLeaderboard(self):
        leaderboard = []

        leaderboard_a = []

        cntr = 0

        for user in Users.query().fetch():
            u = user.get(user.key.id())
            p = user.get_points_sum(user.key.id())

            leaderboard.append(Leaderboard_entry_m(user=u, points=p))

            if p > 0:
                cntr += 1

        logging.info("total playing count: " + str(cntr))

        leaderboard.sort(key=lambda x: x.points, reverse=True)
        lb_m = Leaderboard_m(leaderboard=leaderboard[:20])

        if Leaderboard().query().get():
            lb = Leaderboard().query().get()
            lb.leaderboard = lb_m
            lb.put()
        else:
            lb = Leaderboard(leaderboard=lb_m)
            lb.put()

        # lb_short = Leaderboard_m(leaderboard=lb_m.leaderboard[:20])
        memcache.add(key="leaderboard", value=lb_m, time=500)
コード例 #2
0
def start(currentUser):
    global win, curUsr, best
    curUsr = currentUser
    session = boto3.resource(
        'dynamodb',
        aws_access_key_id='AKIAIOPUXE2QS7QN2MMQ',
        aws_secret_access_key='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',
        region_name="ca-central-1")
    table = session.Table('highscores')

    try:
        response = table.get_item(Key={'peopleid': curUsr})
        best = response['Item']['quicktype']
    except:
        best = 10000000

    win = pygame.display.set_mode((w_width, w_height))
    pygame.display.set_caption('Quick Type')
    title = startfont1.render('Quick Type', 1, (255, 255, 255))

    startBtn = button('Start Game', 30, 250, 50, (40, 40, 40))
    infoBtn = button('Learn to Play', 30, 250, 50, (40, 40, 40))
    btns = [startBtn, infoBtn]
    run = True
    globalTable = Leaderboard(curUsr, 'quicktype', 'global', win, 300, 380,
                              150, 130)
    friendTable = Leaderboard(curUsr, 'quicktype', 'friend', win, 300, 380,
                              550, 130)
    while run:
        pygame.time.delay(50)
        win.fill(bg)
        globalTable.draw()
        friendTable.draw()
        win.blit(title, (w_width / 2 - title.get_width() / 2, 0))
        startBtn.draw(win, 175, w_height - 80)
        infoBtn.draw(win, w_width - 425, w_height - 80)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            if event.type == pygame.MOUSEMOTION:
                pos = pygame.mouse.get_pos()
                for btn in btns:
                    if btn.isMouseOver(pos):
                        btn.hover(win)
                    else:
                        btn.update(win)

            if event.type == pygame.MOUSEBUTTONDOWN:
                pos = pygame.mouse.get_pos()
                if startBtn.isMouseOver(pos):
                    run = False
                elif infoBtn.isMouseOver(pos):
                    showInfoScreen()
        pygame.display.update()

    win.fill(bg)
    pygame.display.update()
    main()
コード例 #3
0
    def test_init_uses_connection_pooling(self):
        lb0 = Leaderboard('lb0', db=0)
        lb1 = Leaderboard('lb1', db=0)
        lb2 = Leaderboard('lb2', db=1)

        lb0.redis_connection.connection_pool.should.equal(
            lb1.redis_connection.connection_pool)
        lb0.redis_connection.connection_pool.should_not.equal(
            lb2.redis_connection.connection_pool)
コード例 #4
0
ファイル: aMAZE.py プロジェクト: lelandjansen/aMAZE
def leaderboards():

    os.system("clear")

    # Load the leaderboard
    users = Leaderboard()
    users.readLeaderboard()

    print("===========================")
    print("=          aMAZE          =")
    print("===========================")
    print("=      Leaderboards       =")
    print("===========================")
    print()
    print()
    print("|# |   Name    |  Score   |")
    print("===========================")

    # Print the leaderboard
    print(users)

    print("1) Back ")

    next_Menu = None

    # Get the next menu from the user
    while next_Menu == None:
        next_Menu = get_ch().lower()

        if next_Menu == '1':
            os.system("clear")
            return MENU_MAIN
        else:
            next_Menu = None
コード例 #5
0
    def __init__(self):
        #Initialize the game and create game resources
        pygame.init()
        self.settings = Settings()

        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))
        pygame.display.set_caption("Alien Invasion")

        #Create an instance to store game statistics
        #And create a scoreboard
        self.stats = GameStats(self)
        self.sb = Scoreboard(self)
        self.lb = Leaderboard(self)

        #Set background color
        self.bg_color = (230, 230, 230)

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()

        self._create_fleet()

        #Make the play button,  resume button, and quit button
        self.play_button = Button(self, "Play")
        self.resume_button = Button(self, "Resume", self.play_button.rect.x,
                                    240)
        self.quit_button = Button(self, "Quit", self.play_button.rect.x, 360)
        self.replay_button = Button(self, "Replay", self.play_button.rect.x,
                                    240)
        self.leaderboard_button = Button(self, "Leaderboard",
                                         self.play_button.rect.x, 300)
        self.back_button = Button(self, "Back", self.play_button.rect.x, 450)
コード例 #6
0
 def appStarted(app):
     app.startMode = StartMode()
     app.gameMode = GameMode()
     app.helpMode = HelpMode()
     app.leaderboard = Leaderboard()
     app.loginScreen = LoginScreen()
     app.setActiveMode(app.startMode)
コード例 #7
0
    def test_merge_leaderboards(self):
        foo_leaderboard = Leaderboard('foo')
        bar_leaderboard = Leaderboard('bar')

        foo_leaderboard.rank_member('foo_1', 1)
        foo_leaderboard.rank_member('foo_2', 2)
        bar_leaderboard.rank_member('bar_1', 1)
        bar_leaderboard.rank_member('bar_2', 2)
        bar_leaderboard.rank_member('bar_3', 5)

        foo_leaderboard.merge_leaderboards('foobar', ['bar'], aggregate='SUM')

        foobar_leaderboard = Leaderboard('foobar')
        foobar_leaderboard.total_members().should.equal(5)

        foobar_leaderboard.leaders(1)[0]['member'].should.equal('bar_3')
コード例 #8
0
    def test_can_set_member_data_namespace_option(self):
        self.leaderboard = Leaderboard('name', member_data_namespace='md')
        self.__rank_members_in_leaderboard()

        self.leaderboard.redis_connection.exists(
            "name:member_data").should.be.false
        self.leaderboard.redis_connection.exists("name:md").should.be.true
コード例 #9
0
ファイル: views.py プロジェクト: rwalt04/django-leaderboard
    def get(self, request, game, user_id):
        """
        Returns the scores around the user
        """
        leaderboard = Leaderboard(game)
        scores = leaderboard.around_me(user_id)

        return {"meta": {}, "scores": scores if scores else []}
コード例 #10
0
 def __init__(self):
     self.WIDTH = 1300
     self.HEIGHT = 900
     self.win = pygame.display.set_mode((self.WIDTH, self.HEIGHT))
     self.leaderboard = Leaderboard(100, 120)
     self.board = Board(310, 120)
     self.top_bar = TopBar(10, 10, 1280, 100)
     self.top_bar.change_round(1)
コード例 #11
0
 def test_db_insert(self):
     lb = Leaderboard('test')
     lb.clear_database()
     lb.add_score('TRIVIAL', 120, 'me')
     lb.add_score('NORMAL', 150, 'notme')
     val = lb.get_top('TRIVIAL')
     self.assertEqual(1, len(val))
     self.assertEqual(120, val[0]['time'])
     self.assertEqual('me', val[0]['name'])
コード例 #12
0
    def test_intersect_leaderboards(self):
        foo_leaderboard = Leaderboard('foo')
        bar_leaderboard = Leaderboard('bar')

        foo_leaderboard.rank_member('foo_1', 1)
        foo_leaderboard.rank_member('foo_2', 2)
        foo_leaderboard.rank_member('bar_3', 6)
        bar_leaderboard.rank_member('bar_1', 3)
        bar_leaderboard.rank_member('foo_1', 4)
        bar_leaderboard.rank_member('bar_3', 5)

        foo_leaderboard.intersect_leaderboards('foobar', ['bar'],
                                               aggregate='SUM')

        foobar_leaderboard = Leaderboard('foobar')
        foobar_leaderboard.total_members().should.equal(2)

        foobar_leaderboard.leaders(1)[0]['member'].should.equal('bar_3')
コード例 #13
0
    def reset(self):
        pygame.draw.rect(game.display.gameDisplay, (0, 0, 100),
                         (0, 0, GLOBAL.MAP_WIDTH, GLOBAL.MAP_HEIGHT))

        # initialize Hp bar
        self.hp = Hp(GLOBAL.HOMEBOT_HEALTH)  # the full health is 760

        # initialize Home robot
        self.homeBot = HomeBot()

        self.initializeBoxes()
        self.docs = []
        self.docDuration = 7000
        self.initializeCompetitors()

        # initialize player
        self.player = Player(GLOBAL.PLAYER_WIDTH, GLOBAL.PLAYER_HEIGHT,
                             GLOBAL.PLAYER_SPEED, 0)
        self.player.setRect(self.display.dogImages[0][0].get_rect())
        self.leaderboard = Leaderboard()
        self.playerCooldownEvent = pygame.USEREVENT + 3
        pygame.time.set_timer(self.playerBryanEvent, GLOBAL.BRYAN_COOLDOWN)

        self.bryans = []

        self.clock = pygame.time.Clock()
        self.keepPlaying = True
        self.postGame = False

        # Initializes and activates vkeyboard
        self.renderer = VKeyboardRenderer(
            # Key font.
            pygame.font.Font('assets/PressStart2P.ttf', 20),
            # Keyboard background color.
            (50, 50, 50),
            # Key background color (one per state, 0 for released, 1 for pressed).
            ((255, 255, 255), (0, 0, 0)),
            # Text color for key (one per state as for the key background).
            ((0, 0, 0), (255, 255, 255)),
            # (Optional) special key background color.
            ((255, 255, 255), (0, 0, 0)),
        )
        self.diff = 0
        pygame.time.set_timer(self.increaseDifficultyEvent,
                              GLOBAL.INCREASE_DIFF_TIME)

        self.layout = VKeyboardLayout(VKeyboardLayout.AZERTY,
                                      allow_uppercase=False,
                                      key_size=100,
                                      allow_special_chars=False)
        self.keyboard = VKeyboard(self.display.gameDisplay,
                                  self.consumer,
                                  self.layout,
                                  renderer=self.renderer)
        self.keyboard.enable()
        self.text = ""
コード例 #14
0
ファイル: seum.py プロジェクト: Phxntxm/SEUM-Point-System
    async def get_leaderboard_ids(self):
        url = API_BASE + "?xml=1"

        with aiohttp.ClientSession() as session:
            async with session.get(url) as response:
                tree = et.fromstring(await response.text())

        for data in tree.iter("leaderboard"):
            ldb = Leaderboard(self, data)
            self.leaderboards.append(ldb)
コード例 #15
0
 def leaderboard(self, limit):
     data = memcache.get('leaderboard_a')
     if data is not None:
         return data
     else:
         data = memcache.get('leaderboard')
         if data is not None:
             return data
         else:
             lb_m = Leaderboard().query().get()
             memcache.add(key="leaderboard", value=lb_m, time=500)
             return lb_m
コード例 #16
0
    def create_ui(self):
        """
        Create UI in main panel
        """
        self.main_sizer = wx.BoxSizer(wx.VERTICAL)

        # Add leaderboard button
        btn_sizer = wx.BoxSizer()
        bmp = wx.ArtProvider.GetBitmap(wx.ART_TICK_MARK, wx.ART_TOOLBAR,
                                       (16, 16))
        self.leaderboard_btn = wx.ToggleButton(self, size=(40, 40))
        self.leaderboard_btn.SetBitmap(bmp)
        self.leaderboard_btn.Bind(wx.EVT_TOGGLEBUTTON, self.on_leaderboard)
        btn_sizer.AddStretchSpacer(prop=2)
        btn_sizer.Add(self.leaderboard_btn, 0, wx.ALL, 5)
        self.main_sizer.Add(btn_sizer, 0, wx.EXPAND)

        # Add notebook
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        self.notebook = fnb.FlatNotebook(self)
        style = self.notebook.GetAGWWindowStyleFlag()
        style |= fnb.FNB_NO_X_BUTTON
        self.notebook.SetAGWWindowStyleFlag(style)
        self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.on_tab_change)

        for tab in range(8):
            tab_panel = FilePanel(self.notebook)
            self.notebook.AddPage(tab_panel, f'File {tab+1}')
        hsizer.Add(self.notebook, 2, wx.ALL | wx.EXPAND, 5)

        # Add leaderboard widget (HtmlWindow)
        self.leaderboard = Leaderboard(self)
        self.leaderboard.SetPage('''
            <h2>Leaderboard</h2>
            ''')
        hsizer.Add(self.leaderboard, 1, wx.ALL | wx.EXPAND, 5)
        self.leaderboard.Hide()
        self.main_sizer.Add(hsizer, 1, wx.ALL | wx.EXPAND)

        # Add counters
        self.current_count = wx.StaticText(
            self, label='Current: Characters: 0 / Words: 0')
        self.main_sizer.Add(self.current_count, 0, wx.TOP | wx.LEFT, 5)
        self.remaining = wx.StaticText(
            self, label='Remaining: Characters: 5000 / Words 2500')
        self.main_sizer.Add(self.remaining, 0, wx.LEFT, 5)
        target = wx.StaticText(self,
                               label='(Target: 5000 Characters / 2500 Words)')
        self.main_sizer.Add(target, 0, wx.LEFT | wx.BOTTOM, 5)

        self.SetSizer(self.main_sizer)
        self.main_sizer.Layout()
コード例 #17
0
 def test_db_top5(self):
     lb = Leaderboard('test')
     lb.clear_database()
     lb.add_score('HARD', 120, 'a')
     lb.add_score('HARD', 118, 'b')
     lb.add_score('HARD', 122, 'c')
     lb.add_score('HARD', -3, 'd')
     lb.add_score('HARD', -8, 'e')
     lb.add_score('HARD', 2, 'f')
     val = lb.get_top('HARD')
     self.assertEqual(5, len(val))
     self.assertEqual(-8, val[0]['time'])
     self.assertEqual(120, val[4]['time'])
コード例 #18
0
def mainScreen(usr, hover=False):
    global shopButton, title, curUsr
    curUsr = usr
    surf = pygame.Surface((1080, 600))
    w = title.get_width()
    h = title.get_height()
    surf.blit(back, (0, 0))
    surf.blit(title, ((1080 / 2 - (w / 2)), 50))
    # For Shop Button
    '''
    if hover == True:S
        text = font.render('Ball Shop', 1,(0, 0, 0))
    else:
        text = font.render('Ball Shop', 1, (51, 51, 153))
    surf.blit(text, (960, 12))
    shopButton = text.get_rect()
    shopButton[0] = 960
    shopButton[1] = 12'''
    # For course Button
    i = buttons[0]
    surf.blit(course1, (i[0], i[1]))
    text = font.render(i[4], 1, (51, 51, 153))
    surf.blit(text, (i[0] + ((i[3] - text.get_width()) / 2), i[1] + i[3] + 10))
    text = font.render('Best: ' + getBest(), 1, (51, 51, 153))
    surf.blit(text, (i[0] + ((i[3] - text.get_width()) / 2), i[1] + i[3] + 40))
    #text = font.render('Coins: ' + getCoins(), 1, (51,51,153))
    #surf.blit(text, (10, 10))

    #draw leaderboard

    globalTable = Leaderboard(curUsr, 'golf', 'global', surf, 300, 380, 90,
                              200)
    friendTable = Leaderboard(curUsr, 'golf', 'friend', surf, 300, 380, 680,
                              200)
    globalTable.draw((0, 0, 0))
    friendTable.draw((0, 0, 0))

    win.blit(surf, (0, 0))
    pygame.display.update()
コード例 #19
0
 def __init__(self, win, connection=None):
     pygame.font.init()
     self.connection = connection
     self.win = win
     self.leaderboard = Leaderboard(50, 125)
     self.board = Board(305, 125)
     self.top_bar = TopBar(10, 10, 1280, 100)
     self.top_bar.change_round(1)
     self.players = []
     self.skip_button = TextButton(85, 830, 125, 60, (255, 255, 0), "Skip")
     self.bottom_bar = BottomBar(305, 880, self)
     self.chat = Chat(1050, 125)
     self.draw_color = (0, 0, 0)
     self.drawing = False
コード例 #20
0
ファイル: game.py プロジェクト: Insperias/online_crocodile
 def __init__(self, win, connection=None):
     pygame.font.init()
     self.connection = connection
     self.win = win
     self.leaderboard = Leaderboard(30, 95)
     self.board = Board(200, 100)
     self.top_bar = TopBar(10, 10, 1080, 80)
     self.bottom_bar = BottomBar(200, 714, self)
     self.top_bar.change_round(1)
     self.players = []
     self.chat = Chat(860, 95)
     self.skip_button = TextButton(70, 700, 100, 45, (255, 255, 0), "Skip")
     self.draw_color = (0, 0, 0)
     self.drawing = False
コード例 #21
0
 def test_db_is_high(self):
     lb = Leaderboard('test')
     lb.clear_database()
     self.assertTrue(lb.is_high_score('HARD', 99999999))
     lb.add_score('HARD', 120, 'a')
     lb.add_score('HARD', 118, 'b')
     lb.add_score('HARD', 122, 'c')
     lb.add_score('HARD', -3, 'd')
     self.assertTrue(lb.is_high_score('HARD', 99999999))
     lb.add_score('HARD', -8, 'e')
     self.assertFalse(lb.is_high_score('HARD', 99999999))
     lb.add_score('HARD', 2, 'f')
     self.assertTrue(lb.is_high_score('HARD', 119))
     self.assertFalse(lb.is_high_score('HARD', 120))
コード例 #22
0
ファイル: views.py プロジェクト: rwalt04/django-leaderboard
 def get(self, request, game, page=1):
     """
     Returns the high scores
     @todo: pagination
     """
     leaderboard = Leaderboard(game)
     scores = leaderboard.leaders(int(page))
     total_pages = leaderboard.total_pages()
     return {
         "meta": {
             "total_pages": int(total_pages)
         },
         "scores": scores if scores else []
     }
コード例 #23
0
ファイル: views.py プロジェクト: rwalt04/django-leaderboard
def highscores(request, game, page=1):
    """
    displays the leaderboard table
    """
    # You can set the default page size
    #Leaderboard.DEFAULT_PAGE_SIZE = 2
    page = int(page)
    leaderboard = Leaderboard(game)
    scores = leaderboard.leaders(int(page))
    if not scores:
        scores = []
    total_pages = int(leaderboard.total_pages())

    # Pagination values
    has_next = True if (page < total_pages) else False
    has_prev = True if (page != 1) else False
    next_page = page + 1 if has_next else page
    prev_page = page - 1 if has_prev else page

    # hashmap to get the score instance quickly
    score_list = {}

    # Collect the user ids
    user_ids = []
    for score in scores:
        user_ids.append(score["member"])
        score_list[int(score["member"])] = score

    # Fetch users in question
    users = User.objects.filter(pk__in=user_ids)

    for user in users:
        score_list[user.pk]["user"] = user

    return render_to_response("django_leaderboard/highscores.html", {
        "scores": scores,
        "total_pages": total_pages,
        "game": game,
        "page": page,
        'has_next': has_next,
        'has_prev': has_prev,
        'next_page': next_page,
        'prev_page': prev_page,
    },
                              context_instance=RequestContext(request))
コード例 #24
0
def client(conn, player):
	with conn:
		db = Leaderboard()
		#init game with map player ID
		conn.send(pickle.dumps((maps, player,db.get_leaderboard())))

		#add player to leaderboard db if not already there
		username = pickle.loads(conn.recv(config.buffer_size))
		db.insert_new_player(username)

		while True: #continously run whilst client still connected
			try:
				data = pickle.loads(conn.recv(config.buffer_size)) #received player attrs

				stats = list(players[player]['stats'].values())

				#a players stats have been updated, update the leaderboard db
				if any(list(data['stats'].values())[i] != stats[i] for i in range(len(stats))):
					kills = data['stats']['kills']
					deaths = data['stats']['deaths']
					kd = data['stats']['K/D']

					db.update_player(data['username'],kills,deaths,kd)

					print('leaderboard updated.')

				players[player] = data

				if not data:
					print('Disconnected from server.')
					break
				else:
					#slice out this player and return other players only, or we could do a deepcopy
					reply = (players[:player]+players[player+1:])

				conn.sendall(pickle.dumps(reply)) 
			except:
				break
		current_player = players[player]['username']
		print(f'connection dropped ({current_player}, ID:{player}).')
		
		#player DCed so reset to defaults and add to DC list so we can re-add if they re-connect
		players[player] = attributes
		DC.append(player)
コード例 #25
0
ファイル: app.py プロジェクト: Rigil-Kent/alien_invasion
def run():
    # Initialize game and create a screen object
    settings = Config()
    stats = Stats(settings)

    pygame.init()
    pygame.mixer.init()
    screen = pygame.display.set_mode(settings.default_size)
    pygame.display.set_caption(settings.default_name)
    play_button = Button(settings, screen, "Play")
    game_over = Button(settings, screen, "Game Over", 600, 75)
    leader = Leaderboard(settings, screen, stats)

    stars = Group()

    # Make a ship
    ship = Ship(settings, screen)

    # Make a group to store projectiles in
    projectiles = Group()

    # Make an invasion group
    aliens = Group()
    game.create_fleet(settings, screen, ship, aliens)

    # Start the main game loop
    while True:

        # Watch for keyboard and mouse events
        game.check_events(settings, screen, stats, leader, play_button, ship,
                          aliens, projectiles)

        #game.update_screen(settings, screen, stats, leader, ship, aliens, projectiles, play_button)

        if stats.game_active:
            ship.update()
            game.update_projectiles(settings, screen, stats, leader, ship,
                                    aliens, projectiles)
            game.update_aliens(settings, stats, screen, leader, ship, aliens,
                               projectiles)

        game.update_screen(settings, screen, stats, leader, ship, aliens,
                           projectiles, play_button, game_over)
コード例 #26
0
    def __init__(self, font, screen):

        self.font = font
        self.screen=screen


        self.screen_rect=screen.get_rect()
        self.off_rect = self.screen_rect.copy()
        self.off_rect.height=self.screen_rect.height - 200
        self.off_text_surface = pygame.Surface(self.off_rect.size)
        print(self.off_rect)
        logos = pygame.image.load("img/kmakers.png")
        image_rect = logos.get_rect()
        image_rect.y = self.screen_rect.height-70
        image_rect.x = self.screen_rect.width - 210
        self.screen.blit(logos, image_rect)
        self.music = ShepherdMusic()
        self.leaderboard = Leaderboard()
        self.reset_buttons()
コード例 #27
0
    def __init__(self, gameDisplay, musicPlayer):
        self.__gameDisplay = gameDisplay
        self.__musicPlayer = musicPlayer

        self.__fastLeaderEasy = Leaderboard("fast_easy.pickle")
        self.__smartLeaderEasy = Leaderboard("smart_easy.pickle")
        self.__fastLeaderMedium = Leaderboard("fast_medium.pickle")
        self.__smartLeaderMedium = Leaderboard("smart_medium.pickle")
        self.__fastLeaderHard = Leaderboard("fast_hard.pickle")
        self.__smartLeaderHard = Leaderboard("smart_hard.pickle")

        self.__vitezaSoundCuePath = os.path.join(os.getcwd(), "Music")
        self.__vitezaSoundCuePath = os.path.join(
            self.__vitezaSoundCuePath, LeaderboardScreen.VITEZA_SOUND_CUE)
コード例 #28
0
ファイル: aMAZE.py プロジェクト: lelandjansen/aMAZE
def game_over(score):
    os.system("clear")

    print("===========================")
    print("=          aMAZE          =")
    print("===========================")
    print("=       GAME OVER :(      =")
    print("===========================")
    print("= Enter your Name         =")
    print("=       10 Characters max =")
    print("===========================")

    # Get the users name
    name = input()

    # Update the leaderboard with the user that just played
    leaderboard = Leaderboard()
    leaderboard.readLeaderboard()
    leaderboard.addUser(name, score)
    leaderboard.writeLeaderboard()
コード例 #29
0
    def __init__(self, win, connection):
        """
        :param win: Window
        :param connection: Connection object
        """
        self.win = win
        self.connection = connection

        self.is_drawing = False
        self.players = []
        self.draw_color = COLORS[1]
        self.game_ended = False
        self.drawer = "No one"

        self.top_bar = TopBar(20, 20, 1040, 80, self)
        self.leaderboard = Leaderboard(20, 120, 270, 60)
        self.board = Board(310, 120, 6)
        self.chat = Chat(810, 120, 250, 580, 30)
        self.bottom_bar = BottomBar(20, 620, 770, 80, self)
        self.person_is_drawing = PersonIsDrawing(310, 620, 480, 80)
コード例 #30
-1
 def test_init_uses_connection(self):
     lb = Leaderboard('lb0', connection=Redis(db=1))
     lb.redis_connection.connection_pool.connection_kwargs[
         'db'].should.equal(1)
     lb = Leaderboard('lb1', connection=StrictRedis(db=1))
     lb.redis_connection.connection_pool.connection_kwargs[
         'db'].should.equal(1)