更改除一种颜色以外的补丁颜色

Changing patch colors except one color

我正在 Netlogo 中创建一个程序,让购物者(乌龟)在杂货店布局中移动。当他们踩到一个贴片时,它的颜色会增加,而当上面没有药剂时,它的颜色会减少,因为这将显示购物者穿过商店的路径。

我的代码是:

 ask turtles
 [ rt random 360
    fd 1
    set pcolor pcolor + 1 ]

 ask patches with [ (pcolor > 9.9) or (pcolor < 0.1) ]
  [set pcolor 0]

ask patches with [ (count turtles-here = 0) and (pcolor <= 9.9) and (pcolor > 0) ]
  [ set pcolor pcolor - 0.1 ]

但是,由于过道贴片是蓝色的,这也将它们变回黑色。我想知道我可以使用什么代码来让带有 pcolor = 105 的补丁保持蓝色而不是变成黑色?

不要更改 pcolor = 105 的色块颜色。您只需要在修改色块颜色的任何地方添加一个附加条件。

 ask turtles
     [ rt random 360
        fd 1
        if pcolor != 105[set pcolor pcolor + 1 ]
     ]

 ask patches with [ pcolor != 105 and ((pcolor > 9.9) or (pcolor < 0.1))]
  [set pcolor 0]

ask patches with [pcolor != 105 and (count turtles-here = 0) and (pcolor <= 9.9) and (pcolor > 0) ]
  [ set pcolor pcolor - 0.1 ]