我的经纪人是船在水上移动,周围和水中的一些地方是一些需要不可能通过的土地。我正在努力构思如何在netlogo中告诉代理这个信息。
我已经分配了
patches-own
[DEPTH
PASSABLE?
]
与
ask patches with [DEPTH > 0] [set PASSABLE? FALSE]
如何告诉乌龟没有越过或占用PASSABLE补丁? =进行随机漫步搜索
时为FALSEpatches in-radius VISION with [DEPTH = 10]
?
抱歉缺乏可重复的例子,但这是一个比任何事情更具概念性的问题。如果需要,我将粗略化一个简单的示例模型。答案 0 :(得分:1)
当你的经纪人即将向前迈出一步时,你可以让他们检查一下是否可以,然后让他们选择一个新的目的地,如果他们要去干地
如果需要,您可以使用Patch-Ahead或In-Cone执行此操作。用它来设置目的地。
像:
to walk
"pick destination"
ifelse destination = water [fd 1] [walk]
end
要选择可能的目的地,您可以使用龟的当前标题:
to pick-destination
let destination patch-ahead 1
end