您的方法不起作用,因为您没有修改景观中的任何面片颜色这个
stamp
命令只留下一个大圆圈海龟的图像,但下面的颜色仍然是蓝色因此,你的小圆圈仍然可以在任何地方移动,即使是在你的大圆圈的邮票区域内。
要解决这个问题,你需要一种不同的方法NetLogo中的海龟形状对于生成模型的视觉输出非常有用但不可能确定被某种龟形覆盖的斑块尽管海龟的视觉形状可以覆盖几个斑块,但它的位置仍然局限于一个特定的斑块。
很难在不知道的情况下推荐一种方法,您正计划如何使用您的模型但是,下面是一个与您提供的代码示例非常接近的解决方案:
breed [smallcircle sc]
globals [largecircle]
to setup
ca
ask patches with [(pxcor > min-pxcor) and (pxcor < (max-pxcor))][
set pcolor blue
]
;store patches within radius of center patch as global
ask patch 0 0 [
set largecircle patches in-radius (10 / 2)
]
;set color of largecircle patches green
ask largecircle [
set pcolor green
]
;create small circles and move to random location outside largecircle
create-smallcircle 50 [
set shape "circle"
move-to one-of patches with [not member? self largecircle]
]
end
我去掉了大圆圈,而是创建了一个全局变量
largecircle
.
然后,通过询问中心面片,识别某个半径内的所有面片,并将这些面片存储在全局变量中来创建大圆圈
大圆圈
. 我们现在可以使用这个面片集来设置大圆圈面片的颜色或控制小圆圈的移动。