UserPreferences

ExampleAvoid.py


  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 

from pyrobot.brain import Brain

class Avoid(Brain):

    # avoid obstacles  
    def wander(self, minSide):
        front = min([s.value for s in self.robot.range["front"]])
        left = min([s.value for s in self.robot.range["front-left"]])
        right = min([s.value for s in self.robot.range["front-right"]])
        if front < minSide:
            self.move(0,-0.3)
        elif left < minSide:
            self.move(0,-0.3)
        elif right < minSide:
            self.move(0,0.3)
        else:
            self.move(0.2, 0)

    def step(self):
        self.wander(0.9)

def INIT(engine):
   return Avoid('Avoid', engine)