X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/702d0af1ff46776307fd8792e39bdd7c9f8273a9..d16f56d1fc36c9a330ff15caa9f1d60a02524310:/timer.py diff --git a/timer.py b/timer.py index e1e247b..916d578 100755 --- a/timer.py +++ b/timer.py @@ -10,15 +10,24 @@ import argparse import pygame class Timer: - def __init__(self): + def __init__(self, main_time): self._last = 0 self._elapsed = 0. + self._main_t = main_time def get_time(self): if self._last > 0: - return time.time() - self._last + self._elapsed + r_time = main_time - (time.time() - self._last + self._elapsed) + if (r_time - int(r_time)) < 0.75: + sep = ":" + else: + sep = " " else: - return self._elapsed + r_time = main_time - self._elapsed + sep = ":" + if r_time < 0: + r_time = 0 + return "{0:0>2}".format(int(r_time / 60)) + sep + "{0:0>2}".format(int(r_time % 60)) def start(self): self._last = time.time() @@ -33,19 +42,27 @@ class Timer: else: return False +parser = argparse.ArgumentParser(description=__doc__) +parser.add_argument('-m', type=int, default=45, + help="main time in minutes") +args = parser.parse_args() + + pygame.init() -pygame.display.set_mode((400, 100)) +pygame.display.set_mode((600, 100)) pygame.display.set_caption("Go timer") screen = pygame.display.get_surface() clock = pygame.time.Clock() -font = pygame.font.Font(None, 50) +font = pygame.font.Font(pygame.font.match_font('monospace'), 80) done = False first = True -timers = (Timer(), Timer()) +main_time = args.m * 60 + +timers = (Timer(main_time), Timer(main_time)) while not done: @@ -64,9 +81,9 @@ while not done: timer.start() screen.fill([0, 0, 0]) - text1 = font.render("{0:>6.2f}".format(timers[0].get_time()), True, [128, 255, 128]) + text1 = font.render(timers[0].get_time(), True, [128, 255, 128]) screen.blit(text1, [10, 10]) - text2 = font.render("{0:>6.2f}".format(timers[1].get_time()), True, [128, 255, 128]) - screen.blit(text2, [200, 10]) + text2 = font.render(timers[1].get_time(), True, [128, 255, 128]) + screen.blit(text2, [300, 10]) pygame.display.flip() clock.tick(15)