def goTo(self, gx, gy): dx = gx - self.x dy = gy - self.y if math.fabs(dx) < self.step: mx = dx else: mx = self.step * misc.sign(dx) if math.fabs(dy) < self.step: my = dy else: my = self.step * misc.sign(dy) return (mx, my)
def run(self, predators): if len(predators) is 0: return (None, None) self.owner.changeHead("run") self.speed = 10 predator, dist, cx, cy = super(FishAgent, self).getClosest(predators) if dist < 5: mx = self.step * misc.sign(self.x - cx) my = self.step * misc.sign(self.y - cy) return (mx, my) else: return (None, None)