Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions examples/hex_ant/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
from mesa.visualization import SolaraViz, make_space_component
from mesa.visualization.components import PropertyLayerStyle

from .agent import AntState
from .model import AntForaging
try:
from .agent import AntState
from .model import AntForaging
except ImportError:
from agent import AntState
from model import AntForaging

plt.rcParams["figure.figsize"] = (10, 10)

Expand Down
11 changes: 7 additions & 4 deletions examples/hex_ant/model.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import mesa
from mesa.discrete_space import HexGrid

from .agent import Ant
try:
from .agent import Ant
except ImportError:
from agent import Ant


class AntForaging(mesa.Model):
Expand Down Expand Up @@ -57,9 +60,9 @@ def _init_environment(self):
# Create the Nest in the center
center = (self.grid.width // 2, self.grid.height // 2)
# Spike the 'home' pheromone at the nest so ants can find it initially
self.grid.pheromone_home[center] = 1.0
self.grid.pheromone_home.data[center] = 1.0
# Mark the home location
self.grid.home[center] = 1
self.grid.home.data[center] = 1

# Scatter some Food Sources
# Create 3 big clusters of food
Expand Down Expand Up @@ -101,7 +104,7 @@ def _update_pheromone_layer(self, layer_name):
"""
Apply evaporation to a pheromone layer.
"""
np_layer = self.grid.property_layers[layer_name]
np_layer = getattr(self.grid, layer_name).data
np_layer *= 1.0 - self.evaporation_rate

# Clamp to 0 to prevent negative values
Expand Down
2 changes: 1 addition & 1 deletion rl/wolf_sheep/agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def step(self):
self.energy -= 1

# If there are sheep present, eat one
x, y = self.pos
_x, _y = self.pos
this_cell = self.model.grid.get_cell_list_contents([self.pos])
sheep = [obj for obj in this_cell if isinstance(obj, Sheep)]
if len(sheep) > 0:
Expand Down