diff --git a/python_payload/demo_worms.py b/python_payload/demo_worms.py index 1d087d32ab41e63ca281d0c98ffb95b4f13852f9..4dd84eed38e7dc5c0d5ae973d955f881dd0ca8e5 100644 --- a/python_payload/demo_worms.py +++ b/python_payload/demo_worms.py @@ -1,18 +1,26 @@ -#python +#python imports import random import time import math -#badge23 +#flow3r imports import event import application import ui + # Subclass Application class AppWorms(application.Application): def on_init(self): print("on init") + self.add_event(event.Event( + name="worms_control", + action=self.handle_input, + condition=lambda data: data.get("type","")=="captouch" and data.get("value")==1 and data["change"], + ) + ) + self.worms = [] for i in range(0): worms.append(Worm()) @@ -39,26 +47,12 @@ class AppWorms(application.Application): w.draw() w.move() -app = AppWorms("worms") + def handle_input(self,data): + worms = app.worms + worms.append(Worm(data.get("index",0)*2*math.pi/10+math.pi )) + if len(worms)>10: + worms.pop(0) -def handle_input(data): - worms = app.worms - worms.append(Worm(data.get("index",0)*2*math.pi/10+math.pi )) - if len(worms)>10: - worms.pop(0) - -app.add_event(event.Event( - name="worms_control", - action=handle_input, - condition=lambda data: data.get("type","")=="captouch" and data.get("value")==1 and data["change"], - ) -) - -app.add_event(event.Event( - name="worms_exit", - action=app.exit, - condition=lambda e: e["type"]=="button" and e.get("from")==2 and e["change"] -)) class Worm(): def __init__(self,direction=None): @@ -115,8 +109,8 @@ class Worm(): self._lastdist = dist -#app.run() -#app.engine.eventloop() +app = AppWorms("worms") + #Known problems: #ctx.rotate(math.pi) turns the display black until powercycled