2017-11-26 8 views
0

私は、カメがランダムな動きで1つのパッチにつき1つのパッチを動かすモデルを構築しようとしています。私は、割合に基づいてダニの数を増やすためのソリューションを探しています。例えば、初めに、彼らは、以下の割合で増やす必要があり、各チックで7匹のカメ、があります。Netlogoはカメで亀の数を増やす

10.72パーセント 10.83パーセント 10.93パーセント 11.03パーセント 11.11パーセント 11.19パーセント 11.27パーセント 11.33パーセント 11.39パーセントは 11.45 %

これが可能かどうかわかりませんか?必要な場合は、これを丸めて整数にすることができます。

これができない場合は、どのようにして10ダニで11%ずつカメの数を増やし、12ダインごとに10ダッチごとにカメを増やすことができますか?

以下は私が使用しているコードです。


to setup 
    clear-all 
    setup-turtles 
    setup-patches 
    reset-ticks 
end 
to setup-patches 
    ask patches [ set pcolor green ] 
end 
to setup-turtles 
    create-turtles tourists [setxy random-xcor random-ycor ] 
    ask turtles [ set shape "person" set size 2 ] 
end 
to go 
    if ticks >= 130 [ stop ] 
    move-turtles 
    eat 
    tick 
end 
to move-turtles 
    ask turtles [ right random 360 forward 1] 
end 
to eat 
    ask turtles [ if pcolor = green [ set pcolor black ] ] 
end 

ご支援をいただき、ありがとうございます。 Avi

+0

増加する必要があるものは何ですか?たとえば、タートルが所有する変数(属性)ですか?それとも、動きに何かが増えていますか? – JenB

+0

応答JenBに感謝します。増加は動きに関連している。各ティックで、各カメは緑色のパッチ上で一歩移動し、緑色のスペースを消費して黒に変えなければなりません。 (私のモデルでは、動きがランダムなので、おそらくその部分も正しくありません。これは、カメが黒いパッチ上を移動する可能性があることを意味します。また、私にも助けてくれれば大いに感謝します)。可能であれば、数値ではないにしてもパーセンテージで増やすこと。私はプログラミングの理解が限られているので、どんな助けも高く評価されます。ありがとうございました。 – Avi

+0

あなたはそれらの合計数を増やすために追加のカメを作成したいですか?あなたが7頭のカメから始めると、10.72%増加すると7.75頭のカメになるので、これは本当に意味をなさない。本当に、一度に一つのことを働かせることも最高です。私は動くことから始まり、食べてから亀を増やすことを心配します。 – JenB

答えて

0

あなたのモデルはモデルライブラリの 'Rabbits Grass Weeds'と非常によく似ていると思うので、いくつか考えてみるといいでしょう。緑色のパッチに移動するという改訂された質問にのみ焦点を当てると、withが必要です。これは選択を制限します。隣接するパッチが緑色でない場合、以下のコードが破損することに注意してください。

to setup 
    clear-all 
    setup-turtles 
    setup-patches 
    reset-ticks 
end 

to setup-patches 
    ask patches [ set pcolor green ] 
end 

to setup-turtles 
    create-turtles 7 [setxy random-xcor random-ycor ] 
    ask turtles [ set shape "person" set size 2 ] 
end 

to go 
    if ticks >= 130 [ stop ] 
    move-turtles 
    increase-turtles 
    tick 
end 

to move-turtles 
    ask turtles [ move-to one-of neighbors with [pcolor = green] ] 
end 

to increase-turtles 
    ask one-of turtles [ hatch 1 ] 
end 

私はあなたは自分のオリジナルのカメとまったく同じように新しい亀を作成したい場合は、同じ色などと同じ場所で別のカメを作成するために、1匹のカメを取得し、このコードでhatchを使用あなたはもっとこれに似たものが欲しいです。この場合

to setup 
    clear-all 
    make-turtles 7 
    setup-patches 
    reset-ticks 
end 

to setup-patches 
    ask patches [ set pcolor green ] 
end 

to make-turtles [ num ] 
    create-turtles num 
    [ setxy random-xcor random-ycor 
    set shape "person" 
    set size 2 
    ] 
end 

to go 
    if ticks >= 130 [ stop ] 
    move-turtles 
    increase-turtles 
    tick 
end 

to move-turtles 
    ask turtles [ move-to one-of neighbors with [pcolor = green] ] 
end 

to increase-turtles 
    make-turtles 1 
end 

、私はランダムに設定でなど、それらを見つけ、あなたが指定した限り多くのカメを作成します(make-turtlesと呼ばれる)、新たな手続きを行っている、私は後に、その後7匹のカメを作るためにそれを呼び出すと、毎回1回するだけです。

+0

これは非常に役に立ちます。第二のオプションは私の必要性に最も適しています。今のところ私は問題は1つしかありません。あなたが言及したように、緑色の隣接パッチがないときにコードが壊れます。これを解決するために、パッチの左端からすべてのカメを開始することは可能ですか?たとえば、最初はパッチの左端に列の形式で作成されています。このようにして移動が前方にある場合は、常に緑色になります。最後に、カメのコードを増やして残りの緑色のパッチに新しいカメだけを作ることは可能ですか? 「Rabbits Grass Weeds」を提案していただきありがとうございます。 – Avi

関連する問題