| Сообщение от 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 - это массив с вложенным массивом?