summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game/hiscore.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sliceitoff/game/hiscore.py')
-rw-r--r--src/sliceitoff/game/hiscore.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/sliceitoff/game/hiscore.py b/src/sliceitoff/game/hiscore.py
new file mode 100644
index 0000000..734ad5e
--- /dev/null
+++ b/src/sliceitoff/game/hiscore.py
@@ -0,0 +1,44 @@
+import pygame
+
+from screens import hiscore_screen
+
+class HiScore(pygame.sprite.Group):
+ def __init__(self):
+ super().__init__()
+ self.add(hiscore_screen(""))
+ self.name = ""
+
+ def update(self, **kwargs):
+ super().update(**kwargs)
+
+ def step(self):
+ for event in pygame.event.get():
+ if event.type == pygame.QUIT:
+ return False
+ if event.type == pygame.KEYDOWN:
+ if event.key in (
+ pygame.K_ESCAPE,
+ pygame.K_KP_ENTER,
+ pygame.K_RETURN):
+ return False
+ if event.key in (
+ pygame.K_RSHIFT,
+ pygame.K_LSHIFT,
+ pygame.K_RCTRL,
+ pygame.K_LCTRL,
+ pygame.K_RALT,
+ pygame.K_LALT,
+ pygame.K_RMETA,
+ pygame.K_LMETA,
+ pygame.K_LSUPER,
+ pygame.K_RSUPER,
+ pygame.K_SPACE):
+ continue
+ if event.key in (pygame.K_BACKSPACE, pygame.K_DELETE):
+ self.name = self.name [:-1]
+ elif pygame.key.name(event.key):
+ self.name += pygame.key.name(event.key)[0].upper()
+ self.name = self.name[:8]
+ self.empty()
+ self.add(hiscore_screen(self.name))
+ return True