NetLogo允许海龟只在街道上移动/特定颜色的补丁?
我是NetLogo的新手,我只想让我的乌龟在街上移动(补丁为pcolor=grey),但我不知道怎么做。我的模型中有一条街道,海龟应该在上面移动。我已经看过libarry的模型了,但是找不到有用的东西 这是我的密码:NetLogo允许海龟只在街道上移动/特定颜色的补丁?,netlogo,Netlogo,我是NetLogo的新手,我只想让我的乌龟在街上移动(补丁为pcolor=grey),但我不知道怎么做。我的模型中有一条街道,海龟应该在上面移动。我已经看过libarry的模型了,但是找不到有用的东西 这是我的密码: extensions [gis] globals [streets-dataset roads] to setup clear-all gis:load-coordinate-system (word "data/" projection &q
extensions [gis]
globals [streets-dataset
roads]
to setup
clear-all
gis:load-coordinate-system (word "data/" projection ".prj")
set streets-dataset gis:load-dataset "data/Test4.shp"
gis:set-world-envelope (gis:envelope-of streets-dataset)
ask patches gis:intersecting streets-dataset
[
set pcolor grey]
set roads patches with [pcolor = grey]
create-turtles 5 [spawn-cars]
reset-ticks
end
to spawn-cars
move-to patch -336 226
end
to go
ask turtles [if any? patches with [pcolor = grey] [set heading towards one-of patches with[pcolor = grey] fd 1]]
end
您可以尝试设置可访问的面片,即灰色的pcolor面片,然后将海龟限制为仅可访问的面片。对于这种情况,模型库中最有用的示例不是最明显的命名;请查看模型库代码示例部分中的
look-Ahead示例
模型,了解您所追求的几乎是什么的示例,只需稍加修改即可。“向前看示例”中的海龟可以而不是移动到他们世界中的蓝色区域-您可能会想出如何反转该示例中的代码(下面引用的相关部分)以使海龟留在您的道路上等
ifelse [pcolor] of patch-ahead 1 = blue
[ lt random-float 360 ] ;; We see a blue patch in front of us. Turn a random amount.
[ fd 1 ] ;; Otherwise, it is safe to move forward.