2
各エージェントに2つのリストがあります。彼らは、1)彼らが誰に魅了され、2)誰が魅了されたのかを示します。 お互いに同じように引き付けられるエージェントだけを示す新しいセット変数を作りたいと思います。同じアトラクションは、エージェント(自己)の数が他のエージェントの「誘致」リストにあり、他のエージェントの数が最初のエージェント(自己)の「引き寄せ」リストにあることです。今までの私のコード:2つのリストの組み合わせ
if attracted != nobody [set attractinglists fput ([self] of attracted) attractinglists]
if attracted != nobody [set attrlists fput ([self] of attracting) attrlists]
set attractinglist [self] of other turtles with [member? myself attrlists]
これは機能しません。魅力的で魅力的なものは、ダニの間に更新されるリストです。彼らはダニ10でエージェント2に引き寄せられるが、ダニ2でエージェント2を引き付けることができる。コードはこれを考慮しない。助けてください。 – Newguy
予想される入力はエージェントセットになりますが、代わりにリスト[]が得られます。 – Newguy
それは動作します。上記のコードをカメで鳴らし、すべての目盛の開始時にアトラクションを更新しました。私は私の答えに必要な唯一のセットアップ手順を含むように私の答えを編集しましたので、これを正しく実行するために必要なすべての行が含まれています。 'with'エラーは、エージェントセットではなく、上で作成した" equal-attraction-list "のように、リストに' with'を使うことに由来します。上のコードでは、 'with'プリミティブの両方がエージェントセット" attracted-to "に問い合わせていることに注意してください。 –