使用代码示例多区域示例过程中的过程时出现Netlogo错误

使用代码示例多区域示例过程中的过程时出现Netlogo错误,netlogo,Netlogo,我是Netlogo的新手。我试图使用库的多区域示例中包含的代码。但我在这个过程中有一个错误 to keep-in-region [ which-region ] if region != which-region [ let region-min-pxcor first item (which-region - 1) region-boundaries let region-max-pxcor last item (which-region - 1) region-boundarie

我是Netlogo的新手。我试图使用库的多区域示例中包含的代码。但我在这个过程中有一个错误

 to keep-in-region [ which-region  ] 
 if region != which-region [
 let region-min-pxcor first item (which-region - 1) region-boundaries
 let region-max-pxcor last item (which-region - 1) region-boundaries
 let region-width (region-max-pxcor - region-min-pxcor) + 1
 ifelse xcor < region-min-pxcor [ 
 set xcor xcor + region-width      ]
 [if xcor > region-max-pxcor [   
 set xcor xcor - region-width
  ]
 ]
 ]
保留在区域[哪个区域]
如果是区域!=哪个地区[
让区域最小pxcor第一项(哪个区域-1)区域边界
让区域最大pxcor最后一项(哪个区域-1)区域边界
设区域宽度(区域最大pxcor-区域最小pxcor)+1
ifelse xcor<区域最小pxcor[
设置xcor xcor+区域宽度]
[如果xcor>区域最大pxcor[
设置xcor xcor-区域宽度
]
]
]
我得到的错误是。。。。有什么建议吗?提前谢谢

-1.不允许在任何地方吸烟。 a-31卖家运行商品时出错 由过程KEEP-IN-REGION调用 按过程调用调整 通过程序GO调用 由Botón'go'调用您得到的错误(“-1不大于或等于零。”,一旦翻译成英语)是由于将-1作为
项的索引传递而引起的

代码中有两行使用了

let region-min-pxcor first item (which-region - 1) region-boundaries
let region-max-pxcor last item (which-region - 1) region-boundaries
如您所见,
(哪个区域-1)
是作为索引传递给
项的表达式。如果您得到的是
-1
,那一定是因为
哪个区域=0

在“多区域示例”模型中,区域
0
保留给不属于任何区域的面片,即充当区域边界的面片。区域本身从1开始编号

在代码中查找调用
keep in region
的位置,并确保使用的区域号介于1和您拥有的区域数(包括)之间


免责声明:我最初编写了“许多地区”代码示例。也许我可以对任何区域之外的补丁使用一个值,比如
nobody
,并将实际区域从0开始编号,而不是从1开始,但我不记得我是否主动决定反对它,或者只是没有想到它。

更好地翻译错误,这里不是每个人都懂西班牙语。