From da2bb3d8e7dcd7f7f0a0c2d2e214b422350d1993 Mon Sep 17 00:00:00 2001 From: Viljami Ilola <+@hix.fi> Date: Thu, 28 Mar 2024 10:00:00 +0200 Subject: hiscore name - game.game --- src/sliceitoff/game/hiscore.py | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/sliceitoff/game/hiscore.py (limited to 'src/sliceitoff/game/hiscore.py') 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 -- cgit v1.2.3