使用代码示例多区域示例过程中的过程时出现Netlogo错误
我是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
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开始,但我不记得我是否主动决定反对它,或者只是没有想到它。更好地翻译错误,这里不是每个人都懂西班牙语。