Большие глюки кончились, видимо.
Остался тонкий тюнинг... Субъективный, конечно же.
Как я выше отмечал, тактика прокладывания трассы определяется "прайс-листом"
dPrice:array[0..15,0..4] of smallint = // массив штрафов за проход по матрице состояний
// Hline Vline Hline Vline
// red red black black Corner
(( 1, 1, 1, 1, 5), // чистое поле
( 2, 2, 2, 2, 40), // элемент
( 10, 40, 2, 40, 40), // красный пин
( 10, 2, 40, 40, 40), // черный пин
( 10, 2, 10, 2, 40), // гориз. связь
( 10, 2, 10, 3, 40), // гориз. связь + элемент
( 10, 40, 10, 40, 40), // гориз. связь + красный пин
( 10, 3, 40, 40, 40), // гориз. связь + черный пин
( 2, 10, 2, 10, 40), // верт. связь
( 3, 10, 2, 10, 40), // верт. связь + элемент
( 10, 40, 3, 40, 40), // верт. связь + красный пин
( 10, 10, 40, 40, 40), // верт. связь + черный пин
( 10, 10, 10, 10, 40), // гориз. + верт. связь
( 10, 10, 10, 10, 40), // гориз. + верт. связь + элемент
( 10, 40, 10, 40, 40), // гориз. + верт. связь + красный пин
( 10, 10, 40, 40, 40)); // гориз. + верт. связь + черный пин
К чему это я. В принципе, рукосойство именно в этом месте - приветствуется, если его результаты вынесены на обсуждение
Мне думается, многие смогут собрать код из исходника... (опять же - и помочь в этом не сложно)
Чтобы проверить результаты, и поделиться ими с коллегами.
Ну например, сегодня мне кажется, что "троечки" в этом массиве - по делу (выложенные мной варианты, в этих местах "двоечки" содержат)
Почему мне так кажется... Вот код
Add(EventFromData,12836364,273,420)
{
}
Add(EventFromData,7016539,273,476)
{
link(onEvent,12836364:doData,[(312,482)(312,468)(263,468)(263,426)])
link(Data,12836364:GetData,[])
}
В общем - тонкий тюнинг