Оператор Netlogo IF, исключение TRUE / FALSE здесь, а не список или блок - PullRequest
0 голосов
/ 11 июня 2018

У меня есть сообщение об ошибке в операторе if: «Здесь исключено ИСТИНА / ЛОЖЬ, а не список или блок».Мне интересно, почему выдает эту ошибку и как ее решить!Я хочу сравнить положение мяча на поле с положением что-то сделать.Мой код

ask balls [ 
    fd 5 
    if[ [xcor] of ball 1 = 4 ] [
      ;;do something
    ]
  ]

1 Ответ

0 голосов
/ 11 июня 2018

Вам нужно

ask balls [ 
    fd 5 
    if [xcor] of ball 1 = 4 [
      ;;do something
    ]
  ]

Вам не нужно [] вокруг условия, которое вы тестируете, а [] является сигналом для NetLogo, что содержимое является списком или блоком, следовательно,сообщение об ошибке.

В общем, просто глядя на ваш код, я думаю, что вы действительно хотите:

ask balls [ 
    fd 5 
    if xcor = 4 [
      ;;do something
    ]
  ]

Это будет проверять xcor каждого шара, а не xcorшар номер 1. Если вы настроили код, то все шары будут «что-то делать», когда шар 1 находится в заданных координатах x, и ни один шар не будет «что-то делать», когда это не так.

...