From b9db3df62f04261c84c305d13f621ba27023e115 Mon Sep 17 00:00:00 2001 From: andi Date: Thu, 12 Sep 2019 22:48:55 +0200 Subject: [PATCH] first steps towards game logic --- .gitignore | 3 +-- cli/FlippR_Networking.py | 2 +- cli/game.py | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 cli/game.py diff --git a/.gitignore b/.gitignore index 704ad01..0b5ff62 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ *.idea* cmake-build-debug -.idea/* -*__pycache__/* +*__pycache__* diff --git a/cli/FlippR_Networking.py b/cli/FlippR_Networking.py index 875269e..2732b93 100644 --- a/cli/FlippR_Networking.py +++ b/cli/FlippR_Networking.py @@ -46,4 +46,4 @@ class Networking: self.get("/displays" + display + "/write_score/" + str(score)) def getInputEvent(self): - pass + return '' diff --git a/cli/game.py b/cli/game.py new file mode 100644 index 0000000..7dcefe1 --- /dev/null +++ b/cli/game.py @@ -0,0 +1,38 @@ +from FlippR_Networking import Networking + +output_server_address = '' +input_server_address = '' + +#network = Networking(output_server_address, input_server_address) +network = '' + +class EventHandler(): + def __init__(self, network): + self.subclasses = {subcls.__name__: subcls for subcls in self.__class__.__subclasses__()} + self.network = network + + def handle(self, name): + # brace yourselves, python incoming + self.subclasses[name](network) + +class LeftFlapEventHandler(EventHandler): + def __init__(self, network): + print('Left Flap Event gets handled') + self.handle() + + def handle(self): + # do stuff... + pass + +def snake_to_camel(word): + return ''.join(x.capitalize() or '' for x in word.split('_')) + +handler = EventHandler(network) +# handler.handle(snake_to_camel('left_flap') + 'EventHandler') + +# while True: +# event_name = snake_to_camel(network.getInputEvent()) +# handler.handle(event_name + 'EventHandler') + + +