Во-первых, ваш цикл foreach
, который применяет ваш ГИС-слой, создает линии только в слое рисования в NetLogo, но не изменяет сами патчи.Вам нужно будет назначить некоторый компонент шейп-файла самим патчам, чтобы черепахи могли их оценить - посмотрите на модель «Общие примеры ГИС» в Библиотеке моделей.
Во-вторых, поиск пути может быть выполненразличными способами, и это действительно зависит от того, какое поведение вы пытаетесь смоделировать.Для нескольких примеров, посмотрите пример «Look Ahead» в библиотеке Models, или посмотрите на игрушечную модель ниже для очень упрощенного подхода:
to setup
ca
ask patch min-pxcor 0 [
set pcolor green
sprout 1 [
set color red
pd
]
spread-right
]
reset-ticks
end
to spread-right
if pxcor < max-pxcor [
ask one-of neighbors with [ pxcor = [pxcor] of myself + 1] [
set pcolor green
spread-right
]
]
end
to go
ask turtles [
let target one-of neighbors in-cone 1.5 90 with [ pcolor = green ]
ifelse target != nobody [
face target
move-to target
] [
rt one-of [ 45 -45 ]
]
]
tick
end