Example #1
0
def start_screen(first_game) -> None:
    sc.speed('fastest')
    sc.clear()
    leader_names, leader_scores = [], []
    lb.load_leaderboard(flappy.LB_FILE, leader_names, leader_scores)
    if not first_game:
        lb.update_leaderboard(flappy.LB_FILE, leader_names, leader_scores,
                              score.get_name(), score.get())
    lb.draw_leaderboard(leader_names, leader_scores, sc)
    font_setup = ("Arial", 20, "normal")
    sc.penup()
    sc.goto(-200, 200)
    sc.hideturtle()
    sc.down()
    sc.write("Press Space To Start", font=font_setup)
    sc.penup()
    sc.goto(-200, 150)
    sc.down()
    sc.write('Press "q" To Quit', font=font_setup)
    sc.penup()
    sc.goto(-200, 50)
    sc.down()
    sc.write('Leaderboard', font=font_setup)
    wn.onkeypress(launch_game, flappy.KEYS.get("SPACE"))
    wn.onkeypress(quit_game, flappy.KEYS.get("Q"))
    wn.listen()
    wn.mainloop()
Example #2
0
    def test_update_leaderboard(self):
        """Test update the leaderboard."""
        leaderboard.reset_leaderboard()

        leaderboard.update_leaderboard("hp", "tim", "hp")

        with open("log.txt", "r") as file:
            lines = file.readlines()
            check1 = lines[0] == "Name: hp\n"
            check2 = lines[1] == "Games: 1\n"
            check3 = lines[2] == "Wins: 1\n"

        exp = check1 is True and check2 is True and check3 is True

        self.assertTrue(exp)

        leaderboard.update_leaderboard("hp", "tim", "tim")

        with open("log.txt", "r") as file:
            lines = file.readlines()
            check1 = lines[3] == "Name: tim\n"
            check2 = lines[4] == "Games: 2\n"
            check3 = lines[5] == "Wins: 1\n"

        self.assertTrue(exp)
Example #3
0
    def test_show_leaderboard(self):
        """Test display leaderboard."""
        leaderboard.update_leaderboard("hp", "tim", "hp")

        res = leaderboard.show_leaderboard()
        exp = 'done'

        self.assertEqual(res, exp)
Example #4
0
def game_over():
    global leaderboard_file_name, score, active_button

        #Clears screen
    wn.clear()
    wn.bgcolor("dimgrey")

    #Draws and activates home button
    home_button.stamp()
    home_button.color("white")
    home_button.sety(250)
    home_button.write("Home", move=False, align="center", font=small_font)
    home_button.sety(300)
    home_button.color("yellow")

    # Get the new leaderboard_values
    made_leaderboard = leaderboard.update_leaderboard(leaderboard_file_name, leaderboard_values, username, int(score), active_button)


    # Draws new leaderboard values
    leaderboard.draw_leaderboard(
        made_leaderboard, leaderboard_file_name, pen, int(score))

    # See if home button has been pressed
    wn.onclick(lambda x, y: button_pressed(x, y))
def manage_leaderboard():
  global leader_scores_list
  global leader_names_list
  global score
  global t

  # load all the leaderboard records into the lists
  lb.load_leaderboard(leaderboard_file_name, leader_names_list, leader_scores_list)

  # TODO
  if (len(leader_scores_list) < 5 or score > leader_scores_list[4]):
    lb.update_leaderboard(leaderboard_file_name, leader_names_list, leader_scores_list, player_name, score)
    lb.draw_leaderboard(leader_names_list, leader_scores_list, True, t, score)

  else:
    lb.draw_leaderboard(leader_names_list, leader_scores_list, False, t, score)
Example #6
0
def manage_leaderboard():

  global leader_scores_list
  global leader_names_list
  global point
  global bucket

  # load all the leaderboard records into the lists
  lb.load_leaderboard(leaderboard_file_name, leader_names_list,leader_scores_list)

  # controls writing to the leaderboard
  if (len(leader_scores_list) < 5 or point > leader_scores_list[4]):
      lb.update_leaderboard(leaderboard_file_name,leader_names_list,leader_scores_list, player_name, point)
      lb.draw_leaderboard(leader_names_list, leader_scores_list, True, bucket,point)

  else:
      lb.draw_leaderboard(leader_names_list,leader_scores_list, False, bucket,point)
Example #7
0
def manage_leaderboard():

    global leader_scores_list
    global leader_names_list
    global score
    global spot

    # TODO
    if (len(leader_scores_list) < 5 or score > leader_scores_list[4]):
        lb.update_leaderboard(leaderboard_file_name, leader_names_list,
                              leader_scores_list, player_name, score)
        lb.draw_leaderboard(leader_names_list, leader_scores_list, True, spot,
                            score)

    else:
        lb.draw_leaderboard(leader_names_list, leader_scores_list, False, spot,
                            score)
Example #8
0
 def update_leaderboard(self, winner):
     """Update leaderboard."""
     win = winner.name
     pl1 = self.curplayer.name
     pl2 = self.otherplayer.name
     leaderboard.update_leaderboard(pl1, pl2, win)