Exemplo n.º 1
0
	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)
Exemplo n.º 2
0
    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)