我正在尝试创建一个命令,这样海龟就可以避开我地图上的绿色补丁。
to avoid-obstacle
let front-patches patches in-cone 5 60
if pcolor of one-of front-patches = green [set heading heading - 45]
end不幸的是给了我
of expected this input to be a reporter block, but got a number or list instead你知道怎么修复它吗?
发布于 2020-11-18 06:57:40
错误消息是命令of需要一个报告程序块,这是一个返回某些内容的代码块(在方括号中)。在本例中,它希望从指定的海龟中获取变量pcolor的值。试试这个(注意pcolor周围的括号):
to avoid-obstacle
let front-patches patches in-cone 5 60
if [pcolor] of one-of front-patches = green [set heading heading - 45]
end顺便说一句,它不会完全按照你所描述的那样去做。这段代码将随机选择一个前面的补丁(这就是one-of所做的),并检查它是否为绿色。从你的描述来看,我认为如果他们中的任何一个是绿色的,你就想改变方向。这看起来像是:
to avoid-obstacle
let front-patches patches in-cone 5 60
if any? front-patches with [pcolor = green] [set heading heading - 45]
endhttps://stackoverflow.com/questions/64872168
复制相似问题