simulation - 尝试检查前方色 block 并根据前方色 block 的色 block 颜色做出决定

标签 simulation netlogo

我想让一只乌龟检查前方小块的颜色并决定移动到哪里。如果前面的补丁不是白色的,那么乌龟向左或向右旋转并移动。我的 If 决策结构中出现错误,显示“此处应为 TRUE?FALSE,而不是 block 列表”。知道是什么原因造成的吗?我对似乎工作正常的 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
     ]
 ]

提前致谢!

最佳答案

你有一个语法错误。 ifelse 中的条件不应在 block 中。

这样修复:

ifelse [pcolor] of patch-ahead 1 != white [
....

关于simulation - 尝试检查前方色 block 并根据前方色 block 的色 block 颜色做出决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622823/

相关文章:

terminology - 模拟器还是仿真器?有什么不同?

language-features - 物理建模的最佳语言是什么?

java - NetLogo 的安全问题

netlogo - 如何使用 NetLogo 行为空间收集定向链接的 "ids"?

c++ - OpenCL 内核性能非常糟糕。为什么我的代码没有 OpenCL 会更好?

c - 如何将 'convert' 两个(for 循环)转为一个(while 循环)?

java - 如何修复 netlogo headless (headless)模式下的 JNI 错误?

variables - Netlogo 中自己的变量

netlogo - NW 扩展 - nw :generate? 的多个图

java - 行人模拟 Java