使用滑块获取海龟颜色的用户输入

时间:2014-03-26 10:18:59

标签: simulation netlogo

我想根据我可以在界面中更改的变量来设置海龟的颜色。我正在考虑使用一个具有1-5的值的滑块,该值将决定将用于为海龟着色的颜色数量。

例如,如果值为2,则龟将用两种颜色着色。如果我可以控制哪些颜色可供选择,我会很感激,但随机颜色也会很好。

我曾经有过静态的双色设置:

set color one-of [ red blue green brown orange ]

这很简单。但是通过动态设置,我这样做了。有没有更有效的方法呢?

 if groups = 1 [ set color red ]
    if groups = 2 [ set color one-of [ red blue ] ]
    if groups = 3 [ set color one-of [ red blue green ] ]
    if groups = 4 [ set color one-of [ red blue green orange ] ]
    if groups = 5 [ set color one-of [ red blue green orange brown ] ]

1 个答案:

答案 0 :(得分:3)

您可以使用sublist从所需颜色列表中提取您想要的颜色数量:

let colors sublist [ red blue green orange brown ] 0 groups
ask turtles [ set color one-of colors ]

如果您不想总是以相同的顺序获得相同的颜色,可以使用n-ofbase-colors

let colors n-of groups base-colors