data representation update

This commit is contained in:
Jeremi Lisek 2022-03-24 20:43:53 +01:00
parent 8188cbbadf
commit 543b1898a9
13 changed files with 63 additions and 9 deletions

View File

@ -25,17 +25,17 @@ class ForkliftModel(Model):
agent = ForkliftAgent(0, self)
self.schedule.add(agent)
# Add the agent to a random grid cell
x = 3
y = 2
x = 5
y = 5
self.grid.place_agent(agent, (x, y))
agent = PatchAgent(1, self, PatchType.pickUp)
self.schedule.add(agent)
self.grid.place_agent(agent, (0, self.grid.height-1))
self.grid.place_agent(agent, (self.grid.width-1, self.grid.height-1))
agent = PatchAgent(2, self, PatchType.dropOff)
self.schedule.add(agent)
self.grid.place_agent(agent, (self.grid.width-1, self.grid.height-1))
self.grid.place_agent(agent, (0, self.grid.height-1))
for i in range(3):
a = PatchAgent(i+3, self, PatchType.item)

BIN
clock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

7
data/CATEGORY.py Normal file
View File

@ -0,0 +1,7 @@
from enum import Enum
class CATEGORY(Enum):
PIZZA = 1
PASTA = 2
EGG = 3

16
data/Game.py Normal file
View File

@ -0,0 +1,16 @@
from data.Item import Item
from data.Order import Order
class Game:
def __init__(self, id: int, agentPos: (int, int), deliveryPos: (int, int), orderPos: (int,int), stockPilePos: [(int,int)],
deliveryItem: Item, agentHandId: int, orderStock:[id], orderList: [Order] ):
self.id = id
self.agentPos = agentPos
self.deliveryPos = deliveryPos
self.orderPos = orderPos
self.stockPilePos = stockPilePos
self.deliveryItem = deliveryItem
self.agentHandId = agentHandId
self.orderStock = orderStock
self.orderList = orderList

7
data/Item.py Normal file
View File

@ -0,0 +1,7 @@
from data.CATEGORY import CATEGORY
class Item:
def __init__(self, id: int, category: CATEGORY):
self.id = id
self.category = category

7
data/JOB.py Normal file
View File

@ -0,0 +1,7 @@
from enum import Enum
class JOB(Enum):
FISHERMAN = 1
FIREFIGHTER = 2
POLICEMAN = 3

8
data/Order.py Normal file
View File

@ -0,0 +1,8 @@
from data.JOB import JOB
class Order:
def __init__(self, id: int, money: int, job: JOB):
self.id = id
self.money = money
self.job = job

9
data/StockPile.py Normal file
View File

@ -0,0 +1,9 @@
from data.CATEGORY import CATEGORY
from data.Item import Item
class StockPile:
def __init__(self, id: int, category: CATEGORY, itemList: [Item]):
self.id = id
self.category = category
self.itemList = itemList

10
main.py
View File

@ -22,12 +22,12 @@ def agent_portrayal(agent):
if isinstance(agent, PatchAgent):
color = colors[0]
if agent.type == PatchType.dropOff:
color = colors[1]
portrayal = {"Shape": "truck.png", "scale": 1.0, "Layer": 0}
elif agent.type == PatchType.pickUp:
color = colors[2]
portrayal = {"Shape": "okB00mer.png", "scale": 1.0, "Layer": 0}
else:
color = colors[random.randrange(13)+3]
portrayal = {"Shape": "rect",
portrayal = {"Shape": "rect",
"Filled": "true",
"Layer": 0,
"Color": color,
@ -36,8 +36,8 @@ def agent_portrayal(agent):
return portrayal
base = 512
gridWidth = 6
gridHeight = 4
gridWidth = 10
gridHeight = 10
scale = base/gridWidth
grid = CanvasGrid(agent_portrayal, gridWidth, gridHeight, scale*gridWidth, scale*gridHeight)

BIN
milk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
okB00mer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

BIN
tomatoe.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

BIN
truck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB