Сообщение от Aetae
|
А чем существующие php реализации плохи?
|
я пробовал по этому туториалу
http://www.policyalmanac.org/games/a...torial_rus.htm писать и даже получился условно рабочий алгоритм. Но у меня возникла проблема при переходе в локации, которая имеет вот такую форму.
Мой алгоритм разворачивается в обратную сторону. Тоесть идет оттуда откуда пришёл, вместо того что бы продолжать путь двигаясь справа налево. Провел не 1 час над решением пробемы.
Исходник моей реализации алгоритма А* по туториалу выше
http://upwap.ru/3107462
Другие же варианты(которые я сумел найти в сети) написанные на РНР оказались менее эффективными по сранению с JS версией. В принципе я допилить с JS в PHP могу, мне требуется лишь помощь что бы разобраться с логическим пониманием некоторых конструкций написанных на JS.
Вот некоторые моменты из JS исходника, логику которых я не понимаю:
1)
matrix[x][y] = {};
не понятная конструкция
2)
get_random_cell = function(){ return...}
переменной присваивается резльтат работы ф-ии?
3)
walls = [];
не понятная конструкция
4)
for(i in walls)
не понятная конструкция, что значит
in?
5)
next = next || {}
не понятная конструкция
6)
wave = {
cells : [top, left, bottom, right, topleft, topright, bottomleft, bottomright],
cost : function( next )
{
next = next || {}
return cell.x != next.x && cell.y != next.y
? 14 // diagonal
: 10 // normal
}
};
wave - это массив с вложенным массивом?