2014-03-26 22 views
3

我想根據可以在界面中更改的變量設置龜的顏色。我正在考慮使用滑塊,其值將從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 ] ] 

回答

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 
+0

這只是完美的。謝謝! – Gannicus