Netlogo를 사용하고 있습니다. 내 모델은 단일 셀에서 시작하여 필라멘트로 발전합니다. 이상적으로 말하면, 각 세포는 필라멘트가 끝에서 자라는 것보다 '나눌'기회가 있습니다. 그래서 각 세포가 직계 조상뿐만 아니라 모든 조상 (또는 그 자손? 또는 모든 거북이를 왼쪽/오른쪽으로 인식)을 인식하고 패치를 만들어서 만드는 방법이 있는지 궁금하네요. 새로운 거북이를위한 공간.거북이를 조상/자손으로 분리하는 방법은 무엇입니까? 또는 '왼쪽으로'/ '오른쪽으로'
1
A
답변
2
거북에게 계보를 소유 가치로주는 것은 어떻습니까? 글로벌 카운터를 만든 다음 거북이를 만들 때마다 카운터를 추가하십시오. 그런 식으로 3 개 또는 300 개의 세포가 있다면 그들은 각각 자신의 혈통을 가질 것입니다.
당신이 거북이가 다른 하나를 부화 한 경우, 그것은 모두 당신은 거북을 가지고 그 계보를 사용할 수 있습니다
turtles-own [lineage]
globals [lineage-counter]
to setup
create n-of 5 turtles [
set lineage lineage-counter
set lineage-counter lineage-counter + 1
]
end
(나이 또는 유사한 뭔가처럼 재설정을 금지하는) 새로운 거북이에 변수를 것 제공 사용하여 자신의 혈통의 비회원을 죽일 :
to kill
set invader one-of turtles here with [lineage != [lineage] of myself]
if invader != nobody [ask invader [die]]
end
가! "자신의 혈통 = [리니지]"비트 단지 넣다 한 번 확인 할 수 있습니다. 항상 저에게는 상냥합니다.
새로운 셀 패치를 이동 갖는 여기
to reproduce
hatch-turtles 1 [setxy ([xcor] of myself + 1) ([ycor] of myself)]
end
2
는 특히 간단한 방법입니다 멀리 1 패치를 부화만큼이나 간단하지만 당신은 당신이 우위를 쳤을 때 무엇을 원하는가?
to setup
ca
crt 1 [setxy min-pxcor 0 set heading 90]
end
to go
ask turtles with [random-float 1 < 0.1] [
hatch 1 [
create-link-from myself [hide-link]
set heading 90
ask turtles with [pxcor > [pxcor] of myself] [
fd 1
]
fd 1
]
]
end