如果变量target = fila 1,如果目标是filas中的任何一个,我如何问条件为true的条件

时间:2019-06-20 14:45:58

标签: netlogo

我需要一个条件,即一只乌龟评估另一只乌龟是否具有可变的目标纤丝

我尝试过,target = filas,target =任何?成员,成员?目标纤维(此方法有效,但在我的代码中有时target = none并创建netlogo错误消息)

set people-ahead min-one-of (other people in-cone (velocidad + espacio-personal + 0.5 ) 106.36 with [puesto? = false and target != any? filas]) [distance myself]

如果目标是线虫,则条件为真

1 个答案:

答案 0 :(得分:0)

breed是乌龟的属性,与其他内置变量(例如size)或turtles-own语句定义的变量完全相同。这意味着您可以直接通过[breed] of进行检查。

这是一个完整的示例,该示例检查选定的名为目标的乌龟的breed并更改其颜色。

breed [type1s type1]
breed [type2s type2]

to setup
  clear-all
  create-type1s 20
  [ setxy random-xcor random-ycor
    set color red
  ]
  create-type2s 20
  [ setxy random-xcor random-ycor
    set color yellow
  ]
  ask one-of turtles
  [ set size 2
    let target min-one-of other turtles [distance myself]
    if [breed] of target = type1s [ask target [set color white]]
    if [breed] of target = type2s [ask target [set color blue]]
  ]
end

您也可以只使用品种名称来获得包含该品种所有海龟的海龟组合。我不确定您要做什么,但是我想您可能想替换:

set people-ahead min-one-of (other people in-cone (velocidad + espacio-personal + 0.5 )  106.36 with [puesto? = false and  target != any? filas]) [distance myself]

使用

let candidates (filas in-cone (velocidad + espacio-personal + 0.5) 106.36 with [not puesto?])
set people-ahead min-one-of candidates [distance myself]