我在if语句中有一条错误消息“此处为例外TRUE / FALSE,而不是列表或块”。我很好奇它为什么会出现这个错误以及如何解决它!我想比较场上球的位置和做某事的位置。我的代码是
ask balls [
fd 5
if[ [xcor] of ball 1 = 4 ] [
;;do something
]
]
你需要
ask balls [
fd 5
if [xcor] of ball 1 = 4 [
;;do something
]
]
您不需要围绕您正在测试的条件的[]
,并且[]
是NetLogo的信号,内容是列表或块,因此是错误消息。
一般只看你的代码,我想你真的想要:
ask balls [
fd 5
if xcor = 4 [
;;do something
]
]
这将测试每个球的xcor
,而不是球数1的xcor
。你设置代码的方式,当球1处于指定的x坐标并且没有球时,所有球将“做某事”做某事'当它不是。