Ejemplo n.º 1
0
    def Hide(self, hunter, objs, delta):
        DistToClosest = 1000000

        self.BestHidingSpot = None
        for hun in hunter:
            # check for possible hiding spots
            for obj in objs:
                HidingSpot = self.GetHidingPosition(hun, obj)
                HidingDist = Vector2D.distanceSq(HidingSpot, self.pos)
                if HidingDist < DistToClosest and (
                        Vector2D.length(hun.pos - obj.pos) - hun.radius) > 0:
                    DistToClosest = HidingDist
                    self.BestHidingSpot = HidingSpot
        # if we have a best hiding spot, use it

        if self.BestHidingSpot is not None:
            return self.arrive(self.BestHidingSpot, 'fast')  # speed = fast?
        # default - run away!
        return self.pursuit(hunter, delta)