2017-11-15 7 views
1

私は家族をモデル化しようとしています。私はそれを設定して、男性が女性に会い、後でそれらを再現させるリンクを形成するようにしたいと思います。私はそれが非常に基本的だとは思うが、これを行うリンクをコードする方法をオンラインで見つけ出すことはできなかった。タートルの品種を変更するリンクを作成するにはどうすればいいですか?

私は品種として男性と女性、夫と妻を持っています。このコードは男性が運営するものです。

to marry 
if hunger < 10 [create-link-with one-of females] 
ask my-links [set breed wives] 
end 

これは、「リンクされていないエージェントセットには繁殖できません」という実行時エラーを返します。これは、私が何らかの種類の品種を使用する必要があることを意味していたと思いました。

​​

しかし

create-<wives>-link-with 

create-<a wife>-link-with 

など、すべてのエラーメッセージを生成します。

私はまた、リンクを向けてみました。

create-link-to one-of females 

ただし、利用できません。

答えて

1

あなたはカメを持っているが、リンクではなくlink-neighborsを尋ねる、私はそれがすべてだと思う:

breed [ cats cat ] 

to setup 
ca 
    crt 10 [ setxy random-pxcor random-pycor ] 
reset-ticks 
end 

to go 

    ask one-of turtles [ 
    create-link-with one-of other turtles 
    ask link-neighbors [ 
     set breed cats 
    ] 
    ] 
end 

編集

私はこれが何をしたいんだと思う:

breed [ males male ] 
breed [ husbands husband ] 
breed [ females female ] 
breed [ wives wife ] 

males-own [ mood ] 

to setup 
    ca 
    create-males 5 [ 
    set color green 
    setxy abs random-pxcor/2 random-pycor 
    set mood "lonely" 
    ] 
    create-females 5 [ 
    set color white 
    setxy (abs random-pxcor)/-2 random-pycor 
    ] 
    reset-ticks 
end 

to go 
    if any? females [ 
    ask one-of males [ 
     set breed husbands 
     create-link-with one-of females 
     ask link-neighbors [ 
     set breed wives 
     ] 
    ] 
    ] 
end 

しかし、亀のスイッチが繁殖していることを再考し、そのすべてにturtles-ownブール変数。married?のように、フラグとして使用できます。品種切り替えを行う場合は、関連する品種に対して作成する変数がすべて同じであることを確認してください。上記の例ではmalesにはmoodの変数がありますが、品種を変更するとその品種はhusbandsになります。

+0

これは参考になります。残念ながら、私のコードの残りの文脈で異なるエラーが発生します: "CREATE-LINK-WITHは、タートルになると予想される入力ですが、代わりにNOBODYを取得しました。"私は、 "リンクの隣人"の行を削除すると、エラーが表示されなくなります。私は "if"コマンドで埋め込みを試みましたが、喜びはありませんでした。 – Marmitrob

+0

(これは最初は不明だった場合は謝罪します)リンクの終わりの品種を変更したいだけです。それを指示するように指示する必要がありますか?もしそうなら、リンク近隣者よりも正確なものが必要でしょうか? – Marmitrob

+0

@Marmitrob 1-あなたのコードの多くを見ることなく、エラーがどこから来ているのかは分からなかった。あなたの質問を編集して問題を解決してもらうには、それを並べ替えることができるかもしれない。 2 - カメによって呼び出される 'リンク - ネイバーズ(link-neighbors) 'プリミティブは、そのカメにリンクされた他のすべてのカメからなるエージェントセットを返します。つまり、'男性'が2人の女性にリンクし、 'リンク先何かをする、それらの2人の女性は何かをするでしょう。私は別の例を含めるために私の答えを編集しました。 –

関連する問題