我有200只代表生产者的乌龟。每只海龟都有两个变量(2个产品的销售量),它们进行比较,让生产者知道哪种产品最受欢迎,因此海龟的颜色会变成代表该产品的颜色。我定义了这个循环:
while [counter < 201][
ask n-of 1 producers [
if (product1sales > product2sales)
[
set color green
]
if (product2sales > product1sales)
[
set color red
]
;
set counter counter + 1]
]我假设每次调用n-of时,都会选择一个海龟,但不会再次选择这个特定的海龟。我还假设通过运行代码,所有的乌龟都必须是绿色或红色的,但有些乌龟既不是绿色也不是红色,因为n-of不能像我假设的那样工作。one-of也不是我想要的。有什么想法吗?
谢谢
发布于 2017-06-23 12:23:01
如果你只是ask producers,它会以随机的顺序询问所有的生产者,但不重复-如果你只是想让他们在两个选择之间做出选择,你甚至不需要计数器。
如果product1sales或product2sales始终较高,也可以使用ifelse进行一些修剪。看看下面的示例是否能满足您的需求:
breed [ producers producer ]
producers-own [ product1sales product2sales ]
to setup
ca
reset-ticks
create-producers 200 [
setxy random 30 - 15 random 30 - 15
set product1sales random-float 11
set product2sales random-float 11
set color white
]
end
to choose
ask producers [
ifelse product1sales > product2sales [
set color green
]
[
set color red
]
]
endhttps://stackoverflow.com/questions/44712321
复制相似问题