def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) isNew = self.insertStepIfMissing(opsensory) #TODO: update 19 to be a configurable variable if opsensory['isNew'] <= 0: results = bqs.query([ bqs.getBehaviorIdLambda(self['Id']),\ bqs.getDifferentUIDLambda(opsensory['UniqueResponseIdentifier']),\ bqs.getDistLambda(opsensory['Location'], 19) ]) if results: opsensory['XStep'] = -opsensory['XStep'] opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) else: opsensory['isNew'] -= 1 if isNew: if opsensory['Direction'] != 0: opsensory['Location'] = Geo.addLocations((2*opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) opsensory2 = dict(opsensory) opsensory2['XStep'] = -opsensory2['XStep'] opsensory2['Location'] = Geo.addLocations((2*opsensory2['XStep'], opsensory2['YStep']), opsensory['Location']) ret.append(opsensory2) else: opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) isNew = self.insertStepIfMissing(opsensory) #TODO: update 19 to be a configurable variable if opsensory['isNew'] <= 0: results = bqs.query([ bqs.getBehaviorIdLambda(self['Id']),\ bqs.getDifferentUIDLambda(opsensory['UniqueResponseIdentifier']),\ bqs.getDistLambda(opsensory['Location'], 19) ]) if results: opsensory['XStep'] = -opsensory['XStep'] opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) else: opsensory['isNew'] -= 1 if isNew: opsensory['Location'] = Geo.addLocations((2*opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) opsensory2 = dict(opsensory) opsensory2['XStep'] = -opsensory2['XStep'] opsensory2['Location'] = Geo.addLocations((2*opsensory2['XStep'], opsensory2['YStep']), opsensory['Location']) ret.append(opsensory2) else: opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) self.insertStepIfMissing(opsensory) #TODO: update 19 to be a configurable variable results = bqs.query([ bqs.getBehaviorIdLambda(self['Id']),\ bqs.getDifferentUIDLambda(opsensory['UniqueResponseIdentifier']),\ bqs.getDistLambda(opsensory['Location'], 19) ]) if results: print len(results) opsensory['XStep'] = -opsensory['XStep'] opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) opsensory['Location'] = Geo.addLocations((opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) #TODO: update 19 to be a configurable variable self.insertVelIfMissing(opsensory) results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('+'),\ bqs.getDistLambda(opsensory['Location'], 38) ]) if results: opsensory['XVel'] = opsensory['XVel'] + 10 opsensory['XVel'] = min(max(-1, opsensory['XVel'] - 1), 10) opsensory['Location'] = Geo.addLocations((-opsensory['XVel'], 0), opsensory['Location']) if opsensory['Location'][0] >= 800: #TODO: Make this dynamic opsensory['Location'] = tuple([799, 25]) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) #TODO: update 19 to be a configurable variable self.insertVelIfMissing(opsensory) results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('+'),\ bqs.getDistLambda(opsensory['Location'], 38) ]) if results: opsensory['XVel'] = opsensory['XVel'] + 10 opsensory['XVel'] = min(max(-1, opsensory['XVel'] - 1), 10) opsensory['Location'] = Geo.addLocations((-opsensory['XVel'], 0), opsensory['Location']) if opsensory['Location'][0] >= 800: #TODO: Make this dynamic opsensory['Location'] = tuple([799, 25]) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] if self['NoBounceTime'] != None: noBounceTime = self['NoBounceTime'] else: noBounceTime = 1000 if self['BQSDistance'] != None: BQSDistance = self['BQSDistance'] else: BQSDistance = 19 for sensory in sensor: opsensory = dict(sensory) isNew = self.insertVelIfMissing(opsensory) if not 'NoBounceTime' in opsensory: opsensory['NoBounceTime'] = noBounceTime if opsensory['NoBounceTime'] <= 0: results = bqs.query([ bqs.getBehaviorIdLambda(self['Id']),\ bqs.getDifferentUIDLambda(opsensory['UniqueResponseIdentifier']),\ bqs.getDistLambda(opsensory['Location'], BQSDistance) ]) if results: opsensory['XVel'] = -opsensory['XVel'] opsensory['Location'] = Geo.addLocations((opsensory['XVel'], opsensory['YVel']), opsensory['Location']) else: opsensory['NoBounceTime'] -= 1 if isNew: if opsensory['Direction'] < 0: opsensory['XVel'] = -opsensory['XVel'] if opsensory['Direction'] != 0: opsensory['Location'] = Geo.addLocations((2*opsensory['XVel'], opsensory['YVel']), opsensory['Location']) ret.append(opsensory) else: opsensory['Location'] = Geo.addLocations((opsensory['XVel'], opsensory['YVel']), opsensory['Location']) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] for sensory in sensor: opsensory = dict(sensory) self.insertStepIfMissing(opsensory) #TODO: update 19 to be a configurable variable results = bqs.query([ bqs.getBehaviorIdLambda(self['Id']),\ bqs.getDifferentUIDLambda(opsensory['UniqueResponseIdentifier']),\ bqs.getDistLambda(opsensory['Location'], 19) ]) if results: for result in results: new = opsensory['XStep'] + result['XStep'] if new >= 0: opsensory['XStep'] = min(20, new) if new < 0: opsensory['XStep'] = max(-20, new) opsensory['Location'] = Geo.addLocations( (opsensory['XStep'], opsensory['YStep']), opsensory['Location']) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] if self['GrowthDirection'] != None: growthDirection = self['GrowthDirection'] else: growthDirection = 'right' if self['HitSensitivity'] != None: hitSensitivity = self['HitSensitivity'] else: hitSensitivity = 4 if self['MaxVelocity'] != None: maxVelocity = self['MaxVelocity'] else: maxVelocity = 10 if self['MinVelocity'] != None: minVelocity = self['MinVelocity'] else: minVelocity = -1 if self['MinLength'] != None: minLength = self['MinLength'] else: minLength = 30 for sensory in sensor: opsensory = dict(sensory) if not 'XVel' in opsensory: opsensory['XVel'] = -1 if not 'SpeedupTimer' in opsensory: opsensory['SpeedupTimer'] = 0 if growthDirection == 'right': results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('-'),\ bqs.getLeftLambda(0) ]) else: compReg.getLock().acquire() self.minX, self.minY, self.maxX, self.maxY = compReg.getComponent('Screen').size compReg.getLock().release() results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('+'),\ bqs.getRightLambda(self.maxX) ]) if results: opsensory['SpeedupTimer'] = hitSensitivity if opsensory['SpeedupTimer'] > 0: opsensory['XVel'] = min(opsensory['XVel'] + 1, maxVelocity) opsensory['SpeedupTimer'] = opsensory['SpeedupTimer'] - 1 else: opsensory['XVel'] = max(minVelocity, opsensory['XVel'] - 1) opsensory['Location'] = (opsensory['Location'][0], opsensory['Location'][1] + opsensory['XVel']) #Set min length if opsensory['Location'][1] <= minLength: opsensory['Location'] = (opsensory['Location'][0], minLength) ret.append(opsensory) return (ret, [])
def processResponse(self, sensor, recurs): ret = [] if self['GrowthDirection'] != None: growthDirection = self['GrowthDirection'] else: growthDirection = 'right' if self['HitSensitivity'] != None: hitSensitivity = self['HitSensitivity'] else: hitSensitivity = 4 if self['MaxVelocity'] != None: maxVelocity = self['MaxVelocity'] else: maxVelocity = 10 if self['MinVelocity'] != None: minVelocity = self['MinVelocity'] else: minVelocity = -1 if self['MinLength'] != None: minLength = self['MinLength'] else: minLength = 30 for sensory in sensor: opsensory = dict(sensory) if not 'XVel' in opsensory: opsensory['XVel'] = -1 if not 'SpeedupTimer' in opsensory: opsensory['SpeedupTimer'] = 0 if growthDirection == 'right': results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('-'),\ bqs.getLeftLambda(0) ]) else: compReg.getLock().acquire() self.minX, self.minY, self.maxX, self.maxY = compReg.getComponent( 'Screen').size compReg.getLock().release() results = bqs.query([ bqs.getBehaviorIdLambda('accelerate'),\ bqs.getDirectionLambda('+'),\ bqs.getRightLambda(self.maxX) ]) if results: opsensory['SpeedupTimer'] = hitSensitivity if opsensory['SpeedupTimer'] > 0: opsensory['XVel'] = min(opsensory['XVel'] + 1, maxVelocity) opsensory['SpeedupTimer'] = opsensory['SpeedupTimer'] - 1 else: opsensory['XVel'] = max(minVelocity, opsensory['XVel'] - 1) opsensory['Location'] = (opsensory['Location'][0], opsensory['Location'][1] + opsensory['XVel']) #Set min length if opsensory['Location'][1] <= minLength: opsensory['Location'] = (opsensory['Location'][0], minLength) ret.append(opsensory) return (ret, [])