Netlogo IF语句,此处为例外TRUE / FALSE,而不是列表或块

问题描述 投票:0回答:1

我在if语句中有一条错误消息“此处为例外TRUE / FALSE,而不是列表或块”。我很好奇它为什么会出现这个错误以及如何解决它!我想比较场上球的位置和做某事的位置。我的代码是

ask balls [ 
    fd 5 
    if[ [xcor] of ball 1 = 4 ] [
      ;;do something
    ]
  ]
netlogo
1个回答
0
投票

你需要

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坐标并且没有球时,所有球将“做某事”做某事'当它不是。

© www.soinside.com 2019 - 2024. All rights reserved.