from mesa import Model, Agent from agent import Player, Box from mesa.time import RandomActivation from mesa.space import MultiGrid #from mesa.datacollection import DataCollector import random x = 10 y = 10 possible_contents = ['gold', 'sword', 'shield', 'potion', 'empty'] step_counter = 0 boxes_number = 5 class GameMap(Model): def __init__(self, x, y, boxes_number): self.grid = MultiGrid(x, y, False) self.schedule = RandomActivation(self) # agenci losowo po kolei wykonują swoje akcje # to jest potrzebne przy założeniu, że potwory chodzą? self.boxes_number = boxes_number self.running=True player = Player(1000, self) self.schedule.add(player) x = self.random.randrange(self.grid.width) y = self.random.randrange(self.grid.height) self.grid.place_agent(player, (x, y)) for i in range(self.boxes_number): box = Box(i, self) self.schedule.add(box) x = self.random.randrange(self.grid.width) y = self.random.randrange(self.grid.height) try: self.grid.place_agent(box, (x, y)) except: pass # self.datacollector=DataCollector #informacje o stanie planszy, pozycja agenta def step(self): self.schedule.step() # self.datacollector.collect(self) #na razie niepotrzebne