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, roaches):
- # FIXME: Check stats
- for door in self._doors:
- if door.is_closed():
- door.open()
- else:
- door.close()
+ 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.")