aboutsummaryrefslogtreecommitdiff
path: root/behaviors
diff options
context:
space:
mode:
authorGravatar Russell Cohen <rcoh@mit.edu>2011-01-10 23:24:02 -0500
committerGravatar Russell Cohen <rcoh@mit.edu>2011-01-10 23:24:02 -0500
commitaaf8bdbee7fdc1d4721f43307fc824c373c69ec4 (patch)
treeee22f0ac45dede7fa8263cfc91f2730b19d07da9 /behaviors
parenta1969e4c4bf61bc6e73c6a59fbef96e8ce361611 (diff)
some improvements to behavior chain. A "Square" Behavior
Diffstat (limited to 'behaviors')
-rw-r--r--behaviors/BehaviorChain.py5
-rw-r--r--behaviors/Square.py11
2 files changed, 16 insertions, 0 deletions
diff --git a/behaviors/BehaviorChain.py b/behaviors/BehaviorChain.py
index 0170fa8..e15bd23 100644
--- a/behaviors/BehaviorChain.py
+++ b/behaviors/BehaviorChain.py
@@ -32,3 +32,8 @@ yourself or bug russell')
self.feedback[behaviorId] = recurrence
return response
+ def appendBehavior(behavior):
+ bid = compReg.registerComponent(behavior) #register behavior (will make
+ #a new id if there isn't one)
+ self['ChainedBehaviors'].append(bid)
+
diff --git a/behaviors/Square.py b/behaviors/Square.py
new file mode 100644
index 0000000..a6e9401
--- /dev/null
+++ b/behaviors/Square.py
@@ -0,0 +1,11 @@
+from operationscore.Behavior import *
+class Square(Behavior):
+ def processResponse(self, sensorInputs, recursiveInputs):
+ for sensory in sensorInputs:#TODO: consider replicating the dict
+ xLoc = sensory['Location'][0]
+ yLoc = sensory['Location'][1]
+ width = self['Width']
+ sensory['Location'] =\
+ '{x}<'+str(xLoc+width)+',{x}>'+str(xLoc-width)+\
+ ',{y}<'+str(yLoc+width)+',{y}>'+str(yLoc-width)
+ return (sensorInputs, recursiveInputs)