Anstatt sie zu bitten, tatsächlich mit dem Befehl zu sterben, benutzen Sie einfach eine Variable, um zu sagen, dass sie tot sind. Sie haben vermutlich etwas, das ihren Infektionsstatus verfolgt (z. B. anfällig, infiziert, wiederhergestellt), sodass Sie einen weiteren Status hinzufügen können (anfällig, infiziert, wiederhergestellt, tot). Dann können Sie Informationen mit Befehlen wie set VARNAME count turtles with [status = dead]
erhalten. Wie unten erwähnt, kann dies Ihren anderen Code schwierig machen, wenn Sie die toten Schildkröten von der Interaktion ausschließen müssen. Eine weitere Möglichkeit besteht darin, weitere Befehle in den gleichen Code einzufügen, wo die Schildkröte sterben soll. Diese anderen Befehle könnten so einfach sein wie das Erhöhen eines Zählers, könnte aber auch Werte zu einer Liste hinzufügen.
ask turtles
[ if ... (whatever your test is to see if the turtle dies)
[ set deathcounter deathcounter + 1
die
]
]
Ich denke, zusätzlich würden sie alle ihre vorhandenen Code vornehmen müssen sicher In Bezug auf die Schildkröten müssten die toten Schildkröten ausgeschlossen werden (zB Schrittbefehl). Wenn eine Schildkröte stirbt, sind sie nicht mehr in der Simulation. Dies ist möglicherweise mühsam zu implementieren. – mattsap
true, ich habe über meine Epidemiesimulationen in der Vergangenheit nachgedacht und angenommen, dass sie bereits Dinge einschränkten (zB Infektion kann sich nur von einem infizierten zu einem anfälligen verbreiten), aber ich werde aktualisieren – JenB
Ich habe eine Simulation, dass deine Lösung funktioniert. Wir wissen nicht, wie/wenn der Benutzer seine Agenten-Sets einschränkt, also können beide gut sein. – mattsap