diff options
Diffstat (limited to 'pycameltris/controller.py')
-rw-r--r-- | pycameltris/controller.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pycameltris/controller.py b/pycameltris/controller.py index 9878536..86f5bcb 100644 --- a/pycameltris/controller.py +++ b/pycameltris/controller.py @@ -1,3 +1,4 @@ +import abc import enum import pygame @@ -13,7 +14,21 @@ class Input(enum.Enum): QUIT = 6 -class JoystickController: +class Controller(abc.ABC): + @abc.abstractmethod + def is_pressed(self, input_: Input): + pass + + @abc.abstractmethod + def get_input_down(self, event): + pass + + @abc.abstractmethod + def get_input_up(self, event): + pass + + +class JoystickController(Controller): class PS3Controller(enum.Enum): CROSS = 0 @@ -57,7 +72,7 @@ class JoystickController: return None -class KeyboardController: +class KeyboardController(Controller): def __init__(self, keyboard): self.keyboard = keyboard self.mapping = { |