colors - 测试半径内色 block 的颜色

标签 colors netlogo turtle-graphics agent

希望您能帮助我。

我尝试测试半径 100 内的一个补丁是否是黄色的,但似乎不起作用。 事实上,这个条件似乎总是错误的,尽管事实并非如此......

ifelse ([pcolor] of patches in-radius 100 = yellow)
[do something]
[do something else]

解决办法是什么? 谢谢。

最佳答案

首先,您的代码不起作用的原因:半径100内的补丁的[pcolor]将返回该半径内所有补丁的颜色作为列表。例如,该列表可能类似于

[135 135 105 105 105 85 75 75 65 25 65 75 15]

除了更长的时间。这些数字是 NetLogo's color numbersyellow 是数字 45。所以,基本上,你的条件变为

[135 135 105 105 105 85 75 75 65 25 65 75 15] = 45

显然,那个巨大的列表与数字不是一回事,因此,你总是会得到错误的结果。

要修复它,您需要使用 any? ,像这样:

ifelse (any? patches in-radius 100 with [ pcolor = yellow ]) ...

patches in-radius 100 为您提供该半径内所有补丁的代理集。 with [ pcolor = Yellow ] 仅保留那些黄色的色 block 。 any? 只是检查代理集中是否有任何内容。

关于colors - 测试半径内色 block 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26187573/

相关文章:

python - turtle 图形中的 turtle 方向?

python - python中 turtle 的屏幕尺寸

python - OpenCV:查找颜色强度

java - 更改外观会更改 JTextPane 的颜色吗?

Java 线程——我在编写线程安全代码吗?

Java:创建预定义颜色的数组

netlogo - 在netlogo中模拟结婚

python - 让 turtle 从墙上弹起来

simulation - NetLogo 4.1 - 高速公路的实现(造成汽车碰撞的问题)

user-agent - 如何在NetLogo中创建迷宫墙?