В качестве хобби пишу (на плюсах) симулятор драки стенка на стенку с ncurses и псевдографикой. Встала задача нахождения пути в толпе. Суть такая: боец стремится к ближайшему врагу, если на его пути препятствие он его обходит следующим образом:
+-+-+-+
|3|2|1|
|4|@|x|
|3|2|1|
+-+-+-+
@ - боец
x - цель движения
1-4 варианты обхода. Проверяется есть ли препятствие в данных
точках и выбирается вариант от меньших к большим.
Итак, нужен красивых короткий код, который ищет обходные пути при любом положении цели.
Текущий вариант выглядит так:
http://pastebin.com/7NvBuzRG
Кто может сделать лучше и короче? Только алгоритм, а не готовую матрицу с решениями.