2014-04-10 38 views
1

我想用三种不同的补丁颜色创建环境。在界面上,我希望能够使用三个滑块来控制创建的每个修补程序颜色的百分比。我该怎么做呢?NetLogo:将特定百分比的补丁更改为某种颜色

+0

您是否无法设置滑块或实际着色修补程序? –

+0

假设每个滑块都设置为1/3。你的要求是你每个颜色的颜色_every_时间只有_exactly_ 1/3,或者你只是想让每个补丁独立滚动骰子,并且每个颜色有1/3的机会?这些是需要不同代码的不同要求。后一种选择更容易编码,所以如果你不知道或不关心你想要的,就去跟后者。 –

回答

0

假设你有三个滑块命名slider1,slider2和slider3此代码将做什么,我相信你是问:

to color-patches 
    let total slider1 + slider2 + slider3 
    let p-red slider1/total 
    let p-green slider2/total 
    let p-blue slider3/total 

    ask patches [ 
    let x random-float 1.0 
    if x <= p-red + p-green + p-blue [set pcolor blue] 
    if x <= p-red + p-green [set pcolor green] 
    if x <= p-red [set pcolor red] 
    ] 
end 

如果所有滑块具有相同的范围(例如,0到100)的量的红色,绿色和蓝色将与所有三个滑块的相对位置成比例。如果所有滑块均设置为相同的值,则您将获得每种颜色的大约1/3。当然,我们在这里使用随机数字,所以可能会得到奇怪的结果。

相关问题