NetLogo:如何在特定条件下使用"ifelse"语法中的"with"语法进行构建?



如何为"ifelse"语句构建语法,该语句在指定的补丁中具有一只,并让确定的颜色是否为指定的颜色?以下是示例代码,但它不起作用。顺便说一下,我想使用"max-pxcor - 1"构建它。

ifelse count turtles-on patch (max-pxcor - 1) with [color = red] = 1[ ;The following code is omitted

(1( 修补程序 X Y 表示法选择特定的修补程序,但您尚未提供pycor。因此,我假设您想要任何具有正确值的补丁pxcor.这些补丁中有多少是红色的?(2( 如果您没有选择带有其标识符的补丁,那么您使用的是补丁集而不是补丁,即使该集中只有一个补丁。如果需要从修补程序集获取修补程序,则需要one-of

如果你真的想识别那个补丁,以便你可以用它做点什么,那么这种方法将补丁与海龟分开,所以是合理的可读性:

let wanted-patch one-of patches with [pxcor = max-pxcor - 1 and color = red]
ifelse count turtles-on wanted-patch = 1
[

但你也可以做:

ifelse any? patches with [pxcor = max-pxcor - 1 and
color = red and
count turtles-here = 1]
[

当然,如果你真的想要补丁集,所以所有右边列红色补丁上的海龟总数是 1(所以一个补丁上有 1 个,其他补丁上是 0 个(,那么:

ifelse count (turtles-on patches with [pxcor = max-pxcor - 1 and color = red]) = 1
[

对于最后一个,为了便于阅读,(( 是可选的。

最新更新