我想根据一个可以在界面中更改的变量来设置海龟的颜色。我正在考虑使用一个值为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 ] ]
您可以使用sublist
从所需颜色列表中提取所需颜色的数量:
let colors sublist [ red blue green orange brown ] 0 groups
ask turtles [ set color one-of colors ]
如果你不想总是以相同的顺序得到相同的颜色,你可以使用n-of
和base-colors
:
let colors n-of groups base-colors