Пример #1
0
 def _collision(self, pos, pos2=None, max_distance=ROBOT_RADIUS):
     """ Logique pour la collision. """
     logging.info('Number of object to check: %d', len(self.field_objects))
     if pos2 is None:
         for i in self.field_objects:
             obj_pos = i
             distance = get_distance(pos, obj_pos)
             logging.info('Distance is %d', distance)
             if distance < 2*max_distance:
                 return True
         return False
     else:
         distance = get_distance(pos, pos2)
         if distance < 2*max_distance:
             return True
         else:
             return False
Пример #2
0
def isInsideCircle(iPosition, iCenter, iRadius):
    '''
    isInsideCircle retourne True si la iPosition se trouve à l'intérieur
    de la zone circulaire de iCenter de rayon iRayon
    :param iPosition: object Position (RULEngine.Util.Position)
    :param iCenter: object Position (RULEngine.Util.Position)
    :param iRadius: int / float
    :return: bool
    '''
    assert(isinstance(iPosition, Position))
    assert(isinstance(iCenter, Position))
    assert(isinstance(iRadius, (int, float)))
    assert(iRadius >= 0)

    if get_distance(iPosition, iCenter) < iRadius:
        return True
    else:
        return False