netlogo移动龟最近的补丁

时间:2012-02-19 13:47:10

标签: netlogo

我想把我的乌龟移动到它最近的红色或绿色色块中。我尝试了这个代码,但它没有移动。出了什么问题?

while [collectedDirt = 5]
[
  ask turtle 0 [ 
                   let nearest-patch min-one-of (patches with [pcolor = red or pcolor = green] in-cone 15 20)[distancemyself]
                   face nearest-patch
                   fd distance nearest-patch

               ]
  set collectedDirt collectedDirt + 1
  search-dirt ;; research whether there is red patch in-cone because of new position
] 

1 个答案:

答案 0 :(得分:4)

您可能希望向我们提供更多内容,但我的猜测是您需要while [collectedDirt < 5]而不是while [collectedDirt = 5]。如果这个区块是你的海龟可以“收集污垢”的唯一方法,那么代码可能永远都不会被执行......

修改

如果视锥内没有红色/绿色斑点,您可能还想添加一个条件:

if is-patch? nearest-patch [ 
  face nearest-patch
  fd distance nearest-patch
  set collectedDirt collectedDirt + 1
]