| 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) |