尝试提前检查色块并根据前置色块的色块颜色做出决定

joh*_*4ta 2 simulation netlogo

我试图让乌龟检查前方补丁的颜色并决定移动的位置。如果前面的补丁不是白色的,那么海龟向左或向右旋转并移动。我的 If 决策结构中出现错误,提示“此处预期为 TRUE?FALSE,而不是块列表”。知道是什么原因造成的吗?我对我的 while 循环使用了相同的逻辑,这似乎工作正常。下面是我的代码,错误发生在代码“ifelse [[pcolor] of patch-ahead 1 != white]”的第一行。

 ifelse [[pcolor] of patch-ahead 1 != white][
     ifelse(tempx < xcor)[
       set heading 270
       jump 1
       ]
     [ 
       set heading 90
       jump 1
     ]
 ]
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Jos*_*dal 6

您有语法错误。ifelse 中的条件不应该在块中。

修复它:

ifelse [pcolor] of patch-ahead 1 != white [
....
Run Code Online (Sandbox Code Playgroud)