2017-03-22 14 views
0

私はNetlogoにはかなり新しく、幾分複雑なif文を設定する方法に苦労しています。この声明はカメのためのものであり、条件は他のカメが同じ地域に住み、家を持つことである。Netlogo if自分自身と他の人との声明

私は、次の反復を試してみたが、まだ成功していない:

if (one-of other turtles with [region = [region] of myself and house? = True]) [] 

if (other turtles with [region = [region] of myself and house? = True]) [] 

は、任意の洞察力をありがとう!

答えて

2

質問にコードを挿入する必要がある場合は、ツールバーの[コードサンプル]ボタンを確認してください。コードを強調表示してボタンをクリックすると、便利に使えます。

2度目の試行は非常に近いです。この場合、エージェントセット「他のカメ」を評価したいとNetlogoに伝えるために、any?プリミティブを追加するのが簡単な修正です。それは、実際にはifで何かを評価していないということです。「家がある私の地域にはカメがあれば」と言っているようなものです。

to check-region 
    ask one-of turtles [ 
    if any? other turtles with [ region = [region] of myself and house? = true ] [ 
     set color white 
    ] 
    ] 
end 

あなたはより具体的な数字を評価する必要がある場合は、しきい値を設定するcountのようなものを使用することができます - 例えば:

to check-region-count 
    ask one-of turtles [ 
    if count other turtles with [ region = [region] of myself and house? = true ] > 3 [ 
     set color white 
    ] 
    ] 
end 
+0

が、それは働いていた、ありがとう! – James

関連する問題