问题
在这段代码中,我尝试让代理在黄色区域移动= 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]
]