Как изменить путь по умолчанию для экспорта zip-файла в NetBeans

Используйте формулу сглаживания расстояния для вычисления расстояний между двумя точками.

Это сделает так, чтобы вы всегда имели одно значение для расстояния и гарантировали у вас есть меньшее расстояние каждый раз. Прямо сейчас, если, например, один враг находится на расстоянии 1 по оси x от каждой башни, а все остальные находятся на расстоянии 2 по оси x, они никогда не будут выбраны, хотя они могут быть ближе

EDIT: Пожалуйста, используйте формулу выше, поскольку ваш расчет не является функцией расстояния. Также в вашей функции вы возвращаете e в первый раз, когда найдете что-то меньшее, чем ближе. Id делает так, чтобы ближайший был кортеж, удерживающий врага и расстояние, и поэтому ваш код должен быть

def find_target(tw):
    closest = (10000, None)
    for e in enemy_list:

            print("Checking distance for enemy", e)
            dx = tw.x - e.x
            dy = tw.y - e.y
            distance = math.hypot(dx, dy)
            if distance < closest[0]
                closest[0] = distance
                closest[1] = e

    print("Closest one is ",closest[1],"at distane",closest[0])
    return closest            

0
задан Jane 19 January 2019 в 03:33
поделиться