NetLogo:将特定百分比的补丁更改为特定颜色

NetLogo:将特定百分比的补丁更改为特定颜色,netlogo,Netlogo,我想用三种不同的补丁颜色创建一个环境。在界面上,我希望能够有三个滑块,使我能够控制每个补丁颜色的百分比创建。如何执行此操作?假设您有三个名为slider1、slider2和slider3的滑块,此代码将执行我相信您所要求的操作: to color-patches let total slider1 + slider2 + slider3 let p-red slider1 / total let p-green slider2 / total let p-blue sli

我想用三种不同的补丁颜色创建一个环境。在界面上,我希望能够有三个滑块,使我能够控制每个补丁颜色的百分比创建。如何执行此操作?

假设您有三个名为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
到色块
让总滑块1+滑块2+滑块3
让p-red滑块1/总计
让p-green滑块2/总计
让p-blue滑块3/总计
询问补丁[
让x随机浮动1.0

如果x在设置滑块或实际为面片着色时遇到问题?假设每个滑块设置为1/3。您的要求是每次只获得每个颜色的1/3,还是希望每个面片独立掷骰子,并有1/3的机会成为每个颜色?这些是不同的要求,需要不同的颜色编码。后一种选择更容易编码,所以如果你不知道或不在乎你想要的是什么,就选择后者。