【问题标题】:Netlogo : change patch color of one patch if orthogonal neighbors have the same colorNetlogo :如果正交邻居具有相同的颜色,则更改一个补丁的补丁颜色
【发布时间】:2014-10-27 17:51:27
【问题描述】:

我是 netlogo 的新手,需要一些帮助。

我正在尝试种植一种颜色的连续补丁(黑色背景上的绿色)。但是,有时我会有一个完全被绿色斑块包围的黑色斑块。我想把那些黑块的颜色改成绿色。

我试过了:

ask patches [
    if neighbors4 with [pcolor = 55] 
    [set pcolor 55]
  ]

但它给了我一个错误,就像

ask patches [
    if any? neighbors4 [pcolor = 55] 
    [set pcolor 55]
  ]

这里是有时会留下黑色补丁被绿色补丁包围的代码:

to setup
  clear-all
  set-patch-size 4
  resize-world -50 50 -50 50
  ask patches[set pcolor black]
  grow-cell
  reset-ticks
end

to grow-cell
    ask patch 0 0 [ 
    set pcolor 55
    ask neighbors [ 
    set pcolor 55
    ]
  ]
  repeat 45 
  [ ask patches with [pcolor = black]
    [ set pcolor [pcolor] of one-of neighbors4 ] ]
end

【问题讨论】:

    标签: patch netlogo


    【解决方案1】:

    这是一个丑陋的/勉强聪明的黑客。

    Ask patches[
       if mean [pcolor] of neighbors4 = green[set pcolor green]
    ]
    

    或者:

    Ask patches with [ count neighbors4 with [pcolor = green] = 4 ]
    [set pcolor green]
    

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多