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

时间:2015-07-19 10:03:16

标签: netlogo

由于我需要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吗?如果是这样的话,我怎样才能在识别每个玩家的心情方面同样轻松?谢谢。

1 个答案:

答案 0 :(得分:3)

我通常建议:

breed [players player]
players-own [mood]

然后你可以让4名球员:

create-players 4

然后,您可以使用player 0player 1player 2player 3编号来引用他们。这假设它们是最初创造的四只海龟。

如果你不喜欢谁的号码从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 ]

绕过对编号的依赖。