[ GanjaFoto:#2058855 ]
ссылка на закачку в описании к картинке.
Что изображено на картинке - слева как сработал скрипт до этого, справа - как
сработает сейчас с галочкой на оптимальном поиске пути.
Подробное объяснение:
В скрипте появилась галочка "поиск оптимального пути". До этой галочки скрипт
сортировал все объекты по секторам, куда выгодней лететь.
Например
###X1#
#X3###
###X2#
##O##
#####
O - начальная точка, Х1 - самый прибыльный сектор, Х2 - второй по прибыльности
сектор, Х3 - третий по прибыльности сектор.
Сейчас же, если вы поставите эту галочку, скрипт проверит, есть ли между
объектом Х1 и вашим сектором О другие сектора, куда залететь было бы выгодней,
чем лететь напрямую в сектор Х1. Если в секторе х1 можно продать ресов больше
или столько же, сколько вы везете, скрипт предложит лететь туда без
промежуточных остановок, потому как продать все ресы сразу важнее чего либо
другого. Проверка рекурсивная, т.е. она не ограничивается первым прибыльным
объектом. Например, если лететь из О в Х1 выгодней всего без остановок, то он
так и предложит, потом посмотрит выгодней ли сделать остановку, полетев в Х2.
Потом в Х3. На картинке не заметно, но там практически все ссылки выстроены в
порядке следования на карте в виде зигзага, по которому выгодней всего лететь.
Список при установленной галочке становится меньше, потому что считает путь до
тех пор, пока есть что продавать. Как только все ресы проданы, он
останавливается. Или как только перебрали все сектора, где можно продать по цене
выше минимальной.
Это не совсем решенная задача коммивояжера, но близко.
Если есть какие-то предложения - выслушаю и улучшу эту версию скрипта. Вероятнее
всего сегодняшним вечером, сейчас не будет времени.