Войти
ПрограммированиеФорумИгровая логика и ИИ

Поиск пути на 2д поле с наименьшим числом поворотов. (2 стр)

Страницы: 1 2
#15
16:06, 7 фев. 2017

iCpu
> 0...1 либо на одной оси с желаемой точкой, либо нет. Увы, нужна оценка точнее.
если на одной оси и повернуты от точки, то 3. Если не на оси и идем от точки, то 2.


#16
19:29, 7 фев. 2017

Zackary
Волновой метод, при проходе назад сначала пробуешь клетку в направлении предыдущего шага

#17
7:19, 8 фев. 2017

Zackary

path findPath(x1,y1,x2,y2)
begin
  for i from x1 to x2 
  begin
    if pathClear(x1,y1,i,y1) and pathClear(i,y1,i,y2) and pathClear(i,y2,x2,y2) then
      return buildPath(x1,y1,i,y1) + buildPath(i,y1,i,y2) + buildPath(i,y2,x2,y2);
  end
  for j from y1 to y2 
  begin
    if pathClear(x1,y1,x1,j) and pathClear(x1,j,x2,j) and pathClear(y2,j,x2,y2) then
      return buildPath(x1,y1,x1,j) + buildPath(x1,j,x2,j) + buildPath(y2,j,x2,y2);
  end
  return noPath();
end;
Страницы: 1 2
ПрограммированиеФорумИгровая логика и ИИ

Тема в архиве.