Skip to content
Snippets Groups Projects
Commit e00ccc6c authored by iggy's avatar iggy Committed by q3k
Browse files

demo_worms.py: cleanup and more OO

parent 23300ace
No related branches found
No related tags found
No related merge requests found
#python #python imports
import random import random
import time import time
import math import math
#badge23 #flow3r imports
import event import event
import application import application
import ui import ui
# Subclass Application # Subclass Application
class AppWorms(application.Application): class AppWorms(application.Application):
...@@ -21,6 +22,13 @@ class AppWorms(application.Application): ...@@ -21,6 +22,13 @@ class AppWorms(application.Application):
self.frame_slack = None self.frame_slack = None
self.last_report = None self.last_report = None
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 = [] self.worms = []
for i in range(0): for i in range(0):
worms.append(Worm()) worms.append(Worm())
...@@ -64,26 +72,12 @@ class AppWorms(application.Application): ...@@ -64,26 +72,12 @@ class AppWorms(application.Application):
self.last_render = now self.last_render = now
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(): class Worm():
def __init__(self,direction=None): def __init__(self,direction=None):
...@@ -139,6 +133,10 @@ class Worm(): ...@@ -139,6 +133,10 @@ class Worm():
self.mutate() self.mutate()
self._lastdist = dist self._lastdist = dist
app = AppWorms("worms")
# To run standalone: # To run standalone:
#app.run() #app.run()
#app.engine.eventloop() #app.engine.eventloop()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment