aboutsummaryrefslogtreecommitdiff
path: root/behaviors/MoveBehavior.py
diff options
context:
space:
mode:
authorGravatar Russell Cohen <rcoh@mit.edu>2011-01-26 22:24:55 -0500
committerGravatar Russell Cohen <rcoh@mit.edu>2011-01-26 22:24:55 -0500
commit5d29906fff79bc6e4ba83be7028e1380a0014d21 (patch)
tree0bb2350046aa69c3b1095983fea59c49026a857b /behaviors/MoveBehavior.py
parent2019fb2895237aa9d86450daaf6d90831189fc13 (diff)
parent82f99fc4583ca3cc9861a9fe30990a4a9ef162c4 (diff)
Merge branch 'mobileapp' into biginstall
Conflicts: behaviors/RestrictLocation.py behaviors/Square.py config/6thFloor.xml inputs/TCPInput.py layouts/60StripLayout.xml operationscore/Behavior.py operationscore/PixelMapper.py pixelcore/Pixel.py pixelcore/Screen.py renderers/60StripSeq.xml
Diffstat (limited to 'behaviors/MoveBehavior.py')
-rw-r--r--behaviors/MoveBehavior.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/behaviors/MoveBehavior.py b/behaviors/MoveBehavior.py
new file mode 100644
index 0000000..590f0e4
--- /dev/null
+++ b/behaviors/MoveBehavior.py
@@ -0,0 +1,27 @@
+from operationscore.Behavior import *
+import util.ComponentRegistry as compReg
+import util.Geo as Geo
+import util.Strings as Strings
+
+class MoveBehavior(Behavior):
+ def processResponse(self, sensorInputs, recursiveInputs):
+ if recursiveInputs:
+ currRecLocs = recursiveInputs
+ else:
+ currRecLocs = [{'Location' : (5, 5), 'Color' : [255, 255, 255]}]
+
+ if sensorInputs: # if input exists, change location
+ ret = []
+ for currRecLoc in currRecLocs:
+ currDict = dict(currRecLoc)
+ for sensorInput in sensorInputs:
+ currDict['Location'] = (currDict['Location'][0] - sensorInput['x'] * self['XStep'], \
+ currDict['Location'][1] + sensorInput['y'] * self['YStep'])
+ currDict['Color'] = [sensorInput['r'], sensorInput['g'], sensorInput['b']]
+ ret.append(currDict)
+ #print ret
+ return (ret, ret)
+
+ else: # if not, return current recursive location.
+ #print currRecLocs
+ return (currRecLocs, currRecLocs)