projekty
/
imago.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
capture class
[imago.git]
/
timer.py
diff --git
a/timer.py
b/timer.py
index
e1e247b
..
916d578
100755
(executable)
--- a/
timer.py
+++ b/
timer.py
@@
-10,15
+10,24
@@
import argparse
import pygame
class Timer:
import pygame
class Timer:
- def __init__(self):
+ def __init__(self
, main_time
):
self._last = 0
self._elapsed = 0.
self._last = 0
self._elapsed = 0.
+ self._main_t = main_time
def get_time(self):
if self._last > 0:
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:
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()
def start(self):
self._last = time.time()
@@
-33,19
+42,27
@@
class Timer:
else:
return False
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.init()
-pygame.display.set_mode((
4
00, 100))
+pygame.display.set_mode((
6
00, 100))
pygame.display.set_caption("Go timer")
screen = pygame.display.get_surface()
clock = pygame.time.Clock()
pygame.display.set_caption("Go timer")
screen = pygame.display.get_surface()
clock = pygame.time.Clock()
-font = pygame.font.Font(
None, 5
0)
+font = pygame.font.Font(
pygame.font.match_font('monospace'), 8
0)
done = False
first = True
done = False
first = True
-timers = (Timer(), Timer())
+main_time = args.m * 60
+
+timers = (Timer(main_time), Timer(main_time))
while not done:
while not done:
@@
-64,9
+81,9
@@
while not done:
timer.start()
screen.fill([0, 0, 0])
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])
screen.blit(text1, [10, 10])
- text2 = font.render(
"{0:>6.2f}".format(timers[1].get_time()
), True, [128, 255, 128])
- screen.blit(text2, [
2
00, 10])
+ text2 = font.render(
timers[1].get_time(
), True, [128, 255, 128])
+ screen.blit(text2, [
3
00, 10])
pygame.display.flip()
clock.tick(15)
pygame.display.flip()
clock.tick(15)