Ich habe zwei Listen für jeden Agenten. Sie zeigen 1), zu wem sie hingezogen werden und 2) wen sie anzogen. Ich möchte eine neue Set-Variable erstellen, die nur die Agenten anzeigt, die sich gleichermaßen ansprechen. Gleiche Anziehung ist: Die Nummer des Agenten (Selbst) ist in der "Anziehungs" -Liste des anderen Agenten und die Nummer des anderen Agenten ist in der "Anzieh" -Liste für den ersten Agenten (Selbst). Mein Code so weit:Zwei Listen Kombination
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]
Es funktioniert nicht. Beachten Sie, dass Attraktivität und Attraktivität Listen sind, die während der Ticks aktualisiert werden. Sie können in Tick 10 zu Agent 2 gezogen werden, ziehen aber diesen Agent 2 in Tick 2 an. Der Code berücksichtigt das nicht. Bitte helfen Sie. – Newguy
MIT erwarteter Eingabe als Agentensatz, aber stattdessen die Liste []. – Newguy
Es funktioniert; Ich habe den Code oben mit Schildkröten ausgeführt, die ihre Attraktionen zu Beginn jedes Ticks aktualisieren. Ich habe meine Antwort so bearbeitet, dass sie das einzige Setup-Verfahren enthält, das benötigt wird, sodass meine Antwort jetzt alle Zeilen enthält, die benötigt werden, damit dies ordnungsgemäß ausgeführt wird. Ihr 'with'-Fehler rührt von der Verwendung von' with' mit einer Liste, z. B. "equal-attraction-list", die oben erstellt wurde, statt von einem Agentensatz. Beachten Sie, dass in dem obigen Code beide 'mit' Grundelemente den Agentensatz" angezogen an "abfragen. –