多代理模型:为每个代理创建独特的品种还是使用代理集?

Multi-agent model: To create unique breeds for each agent or to use agentset?

因为我需要 4 个玩家拥有自己的变量(所有玩家恰好也有),我正在创建单独的品种并声明变量如下:

breed [player1]
breed [player2]
breed [player3]
breed [player4]

player1-own [mood_player1]
player2-own [mood_player2]
player3-own [mood_player3]
player4-own [mood_player4]

然后我将每个玩家视为独一无二的,并为每个玩家编写代码。

我应该改用 agentset 吗?如果是这样,我怎样才能同样轻松地识别每个玩家的心情?谢谢。

我通常会建议:

breed [players player]
players-own [mood]

然后你可以让 4 名球员:

create-players 4

然后你可以用player 0player 1player 2player 3来称呼他们。这假设它们是创建的前四只海龟。

如果您不喜欢 who 数字从 0 开始,或者如果玩家不是第一个创建的海龟,那么另一种选择是:

breed [players player]
players-own [mood]
globals [player1 player2 player3 player4]

create-players 1 [ set player1 self ]
create-players 1 [ set player2 self ]
create-players 1 [ set player3 self ]
create-players 1 [ set player4 self ]

这绕过了对编号的依赖。