diff options
author | Olivier Gayot <olivier.gayot@sigexec.com> | 2021-11-08 17:53:17 +0100 |
---|---|---|
committer | Olivier Gayot <olivier.gayot@sigexec.com> | 2021-11-08 22:05:55 +0100 |
commit | 1fe19d3e589bbc5d40b74d007d6b1984cfc34925 (patch) | |
tree | 11e63c628f5b8adc4f5711f02e98d555c572fe48 /pycameltris/controller.py | |
parent | c51fd84bc896c74f291b4c5f2c73b5e5852de3e5 (diff) |
Make controller classes and screen classes inherit from abstract classes
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
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 = { |