Skip to content

Commit e7345de

Browse files
authored
Replace get_agents_of_type method with agents_by_type property (#190)
The Model method `get_agents_of_type()` is replaced by the `agents_by_type` property, which directly returns the dict. Instead of using: ```Python model.get_agents_of_type(Wolf) ``` You should now use: ```Python model.agents_by_type[Wolf] ```
1 parent aca30a2 commit e7345de

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

examples/sugarscape_g1mt/sugarscape_g1mt/model.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ def __init__(
7373
# initiate datacollector
7474
self.datacollector = mesa.DataCollector(
7575
model_reporters={
76-
"Trader": lambda m: len(m.get_agents_of_type(Trader)),
76+
"Trader": lambda m: len(m.agents_by_type[Trader]),
7777
"Trade Volume": lambda m: sum(
78-
len(a.trade_partners) for a in m.get_agents_of_type(Trader)
78+
len(a.trade_partners) for a in m.agents_by_type[Trader]
7979
),
8080
"Price": lambda m: geometric_mean(
81-
flatten([a.prices for a in m.get_agents_of_type(Trader)])
81+
flatten([a.prices for a in m.agents_by_type[Trader]])
8282
),
8383
},
8484
agent_reporters={"Trade Network": lambda a: get_trade(a)},
@@ -134,12 +134,12 @@ def step(self):
134134
and then randomly activates traders
135135
"""
136136
# step Resource agents
137-
self.get_agents_of_type(Resource).do("step")
137+
self.agents_by_type[Resource].do("step")
138138

139139
# step trader agents
140140
# to account for agent death and removal we need a seperate data strcuture to
141141
# iterate
142-
trader_shuffle = self.get_agents_of_type(Trader).shuffle()
142+
trader_shuffle = self.agents_by_type[Trader].shuffle()
143143

144144
for agent in trader_shuffle:
145145
agent.prices = []
@@ -153,7 +153,7 @@ def step(self):
153153
self.datacollector.collect(self)
154154
return
155155

156-
trader_shuffle = self.get_agents_of_type(Trader).shuffle()
156+
trader_shuffle = self.agents_by_type[Trader].shuffle()
157157

158158
for agent in trader_shuffle:
159159
agent.trade_with_neighbors()

examples/wolf_sheep/wolf_sheep/model.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ def __init__(
8181
self.grid = mesa.space.MultiGrid(self.width, self.height, torus=True)
8282

8383
collectors = {
84-
"Wolves": lambda m: len(m.get_agents_of_type(Wolf)),
85-
"Sheep": lambda m: len(m.get_agents_of_type(Sheep)),
84+
"Wolves": lambda m: len(m.agents_by_type[Wolf]),
85+
"Sheep": lambda m: len(m.agents_by_type[Sheep]),
8686
}
8787

8888
if grass:
89-
collectors["Grass"] = lambda m: len(m.get_agents_of_type(GrassPatch))
89+
collectors["Grass"] = lambda m: len(m.agents_by_type[GrassPatch])
9090

9191
self.datacollector = mesa.DataCollector(collectors)
9292

@@ -128,7 +128,7 @@ def step(self):
128128
# Conceptually, it can be argued that this should be modelled differently.
129129
self.random.shuffle(self.agent_types)
130130
for agent_type in self.agent_types:
131-
self.get_agents_of_type(agent_type).do("step")
131+
self.agents_by_type[agent_type].do("step")
132132

133133
# collect data
134134
self.datacollector.collect(self)

0 commit comments

Comments
 (0)