X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fgamelib%2Fkeypad.py;h=c7961dbc3484e6af5900523e6e290be2ddd9195c;hb=5cd50a8c6ecf77a17eab6dcda0425501772caaaf;hp=4667fcde95924490158653a8cc3355a61e19a6c7;hpb=68fc37379b0ea2838e2df99f635216e9abe67934;p=koperkapel.git diff --git a/koperkapel/gamelib/keypad.py b/koperkapel/gamelib/keypad.py index 4667fcd..c7961db 100644 --- a/koperkapel/gamelib/keypad.py +++ b/koperkapel/gamelib/keypad.py @@ -2,19 +2,29 @@ import os from pgzero.loaders import images +from pgzero.ptext import getsurf from ..actors.orientatedsurf import SurfActor -from ..constants import TILE_SIZE class Keypad(SurfActor): - def __init__(self, x, y, doors): + def __init__(self, x, y, doors, required_smart=0): self._doors = doors self.game_pos = (x, y) - surf = images.load(os.path.join('fixtures', 'keypad')) - super().__init__(surf, anchor=(0, 0)) + self.required_smart = required_smart + surf = images.load(os.path.join('fixtures', 'keypad')).copy() + ocolor = (96, 96, 128, 255) + surf.blit(getsurf( + str(required_smart), owidth=2, + ocolor=ocolor, color="black"), (0, 0)) + super().__init__(surf, anchor=(1, 1)) - def activate(self): - # FIXME: Check stats - for door in self._doors: - door.open() + def activate(self, smart): + if smart >= self.required_smart: + for door in self._doors: + if door.is_closed(): + door.open() + else: + door.close() + else: + print("You are not smart enough for this keypad.")