Netlogo 如何使用原语;“右前方打补丁”;在模型设置中禁用世界环绕时?

Netlogo 如何使用原语;“右前方打补丁”;在模型设置中禁用世界环绕时?,netlogo,Netlogo,我对原始的“右前方补丁”有一个问题。在“模型设置”中禁用世界环绕时,我会收到以下错误消息: OF expected input to be a turtle agentset or patch agentset or turtle or patch but got NOBODY instead. 当我这样做时: if [pcolor] of patch-here = brown [ if [pcolor] of (patch-right-and-ahead 90 1) = brown [

我对原始的“右前方补丁”有一个问题。在“模型设置”中禁用世界环绕时,我会收到以下错误消息:

OF expected input to be a turtle agentset or patch agentset or turtle or patch but got NOBODY instead.
当我这样做时:

if [pcolor] of patch-here = brown [
 if [pcolor] of (patch-right-and-ahead 90 1) = brown [
  move-to patch-right-and-ahead 90 1 ] ]

提前感谢您的帮助。

当通常返回代理的原语找不到合适的代理返回时,它将返回
nobody
。在这里,没有一个补丁在当前代理的正前方(呃,因为角度是90,我猜正好)。因此,它返回的是
无人
。在对其使用的之前,您需要检查以确保它不是
无人

if [pcolor] of patch-here = brown [
  let target-patch patch-right-and-ahead 90 1
  if target-patch != nobody and [pcolor] of target-patch = brown [
    move-to target-patch
  ]
]