2014-04-10 4 views
2

숲 주위로 30m의 가장자리를 그리기를 원합니다 (아래 그림 참조). 여기 내 코드는패치 클러스터에서 가장자리를 그리는 방법은 무엇입니까?

to create-forest-edges 
let forest-edge 30 
set patch-side 10 

ask patches with [pcolor != 53] [ 
ask neighbors with [pcolor = 53] [ 
set pcolor green ] ] 

repeat (forest-edge/patch-side) - 1 [ 
ask patches with [pcolor = green] [ 
ask neighbors with [pcolor = 53] [ 
set pcolor green ] ] ] 
end 

세계의 말단에 위치하는 일부 패치가 녹색 가장자리를하지 않은 (1 패치 = 10m)입니다. 왜 그런지 몰라? 도움 주셔서 대단히 감사합니다. enter image description here

답변

1

숲이 작동하려면 가장자리에서 적어도 3 개의 패치가 있어야합니다. 따라서 포레스트 생성 코드에서 가장자리 근처의 패치가 숲으로되어 있지 않은지 확인하십시오.

2

이 방법에 대해 대신 :

ask patches with [pcolor = 53] [ 
    ask patches in-radius 3 with [pcolor != 53] [ 
    set pcolor green 
    ] 
] 
관련 문제