def reset_timer(self): """ Resets the timer to zero. """ self.running = False self.paused = False self.display_time(TimeService.time_convert(self.white_time))
def get_move_time(self): end_time = time.time() time_lapsed = end_time - self.start_time down = self.white_time - time_lapsed self.move_time = self.white_time - down self.move_time_str = TimeService.time_convert(self.move_time) return self.move_time_str
def __init__(self, screen, x, y): """ Initializes a MoveTimeLimitComponentFE. :param screen: a pygame.Surface :param x: an int :param y: an int """ self.white_limit = 30 # stored in seconds, uses time_convert to format self.black_limit = 30 self.screen = screen self.x = x self.y = y self.colour = (0, 0, 225) self.rect = pygame.Rect(x, y, 160, 65) pygame.draw.rect(screen, self.colour, self.rect, -1) self.font = pygame.font.SysFont('Arial', 20) screen.blit(self.font.render(" Move Time Limit", True, (0, 0, 0)), (x + 10, y - 2)) screen.blit( self.font.render( " White: " + TimeService.time_convert(self.white_limit), True, (0, 0, 0)), (x, y + 20)) self.white_sub = MoveTimeLimitButtonFE(screen, x + 20, y + 42, " - sec", "white") self.white_add = MoveTimeLimitButtonFE(screen, x + 80, y + 42, " + sec", "white") self.white_add_min = MoveTimeLimitButtonFE(screen, x + 20, y + 70, " - min", "white") self.white_sub_min = MoveTimeLimitButtonFE(screen, x + 80, y + 70, " + min", "white") screen.blit( self.font.render( " Black: " + TimeService.time_convert(self.black_limit), True, (0, 0, 0)), (x, y + 100)) self.black_sub = MoveTimeLimitButtonFE(screen, x + 20, y + 122, " - sec", "black") self.black_add = MoveTimeLimitButtonFE(screen, x + 80, y + 122, " + sec", "black") self.black_add_min = MoveTimeLimitButtonFE(screen, x + 20, y + 150, " - min", "black") self.black_sub_min = MoveTimeLimitButtonFE(screen, x + 80, y + 150, " + min", "black") self.limit_buttons = [ self.white_add, self.white_sub, self.black_add, self.black_sub, self.white_add_min, self.white_sub_min, self.black_add_min, self.black_sub_min ]
def run_time(self): """ Updates the elapsed time from the previous start time and calls the update_timer method to display the elapsed time. """ end_time = time.time() time_lapsed = end_time - self.start_time down = self.white_time - time_lapsed time_str = TimeService.time_convert(down) self.display_time(time_str) self.move_time = self.white_time - down self.move_time_str = TimeService.time_convert(self.move_time) if int(down) == 0: pygame.mixer.music.load('./frontend/static/nooo.mp3') pygame.mixer.music.play(0) self.display_time(TimeService.time_convert(0)) self.running = False
def run_time(self): """ Updates the elapsed time from the previous start time and calls the update_timer method to display the elapsed time. """ end_time = time.time() time_lapsed = end_time - self.start_time time_str = TimeService.time_convert(time_lapsed) self.display_time(time_str)
def update_white_score(self): """ Updates white's score. """ background = pygame.Rect(self.x, self.y + 20, 160, 20) pygame.draw.rect(self.screen, (255, 255, 255), background, 0) self.screen.blit( self.font.render( " White: " + TimeService.time_convert(self.white_limit), True, (0, 0, 0)), (self.x, self.y + 20))
def update_black_score(self): """ Updates black's score. """ background = pygame.Rect(self.x, self.y + 100, 160, 20) pygame.draw.rect(self.screen, (255, 255, 255), background, 0) self.screen.blit( self.font.render( " Black: " + TimeService.time_convert(self.black_limit), True, (0, 0, 0)), (self.x, self.y + 100))
def display_average(self, move_count): self.sum = 0 for t in self.move_times: if t is not None: self.sum += t if move_count == 0: avg = 0 else: avg = self.sum / move_count print(str(self.sum)) avg = TimeService.time_convert(math.ceil(avg)) rect = pygame.Rect(self.x - 70, self.y + 120, 200, 20) pygame.draw.rect(self.screen, (225, 225, 225), rect) self.screen.blit(self.font.render("average: " + avg, True, (0, 0, 0)), (self.x - 70, self.y + 120))
def set_time_limit(self, white_limit): self.white_time = white_limit self.display_time(TimeService.time_convert(self.white_time))
def set_time_limit(self, black_limit): self.black_time = black_limit self.display_time(TimeService.time_convert(self.black_time))