我想把我的乌龟移动到它最近的红色或绿色色块中。我尝试了这个代码,但它没有移动。出了什么问题?
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
]
答案 0 :(得分:4)
您可能希望向我们提供更多内容,但我的猜测是您需要while [collectedDirt < 5]
而不是while [collectedDirt = 5]
。如果这个区块是你的海龟可以“收集污垢”的唯一方法,那么代码可能永远都不会被执行......
修改强>
如果视锥内没有红色/绿色斑点,您可能还想添加一个条件:
if is-patch? nearest-patch [
face nearest-patch
fd distance nearest-patch
set collectedDirt collectedDirt + 1
]