2016-07-14 1 views
1

私はNetlogoを使用しています。私のモデルは単一の細胞から始まり、フィラメントに発展します。理想的には、各セルは、フィラメントが先端に成長するのではなく、「分割する」チャンスを有する。だから私は、各細胞がその直系の祖先だけでなく、その祖先(またはその子孫か、またはすべてのカメを左右に認識するか)を認識して、それを作るパッチを移動させる方法があるかどうか疑問に思っています新しいカメのためのスペース。カメを祖先/子孫に分ける方法は?または '左に'/'右に'

答えて

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 
関連する問題