NetLogo,我如何让代理移动是一个特定的区域,然后在移动时没有卡住的区域着色?

时间:2015-02-08 00:51:20

标签: netlogo

  

问题

在这段代码中,我尝试让代理在黄色区域移动= 47,并将补丁着色为“红色”,但问题是代理卡在红色区域。 我希望代理移动并着色,直到所有补丁变成红色,就像清洁一样。 请大家,我需要帮助......

  

;; leftcheck和rightcheck已在全局声明

中声明
if (behaviour = "RCleaner")
  [
    ifelse any? patches in-cone 2 10 with [pcolor = 47]
      [ fd random-float 0.03 ]
      [ 
        rt 2
        ifelse any? patches in-cone 2 10 with [pcolor = 47]
          [ set rightcheck true ] [ set rightcheck false ]
        lt 2
        ifelse any? patches in-cone 2 10 with [pcolor = 47]
          [ set leftcheck true ] [ set leftcheck false ]
        rt 2
        if leftcheck  [ lt 1 ]
        if rightcheck [ rt 1 ]
        fd 0.01 
      ]
      set heading heading  + random 1 - random 1
      ask patch-here [ set pcolor red]
  ]

0 个答案:

没有答案