2022-03-22 21:52:05 +01:00
|
|
|
from enumy_i_slowniki import *
|
|
|
|
from stale import *
|
|
|
|
|
|
|
|
|
|
|
|
class Wymiary:
|
|
|
|
def __init__(self, dlugosc, szerokosc, wysokosc):
|
|
|
|
self.dlugosc = dlugosc
|
|
|
|
self.szerokosc = szerokosc
|
|
|
|
self.wysokosc = wysokosc
|
|
|
|
|
|
|
|
|
|
|
|
class Mapa:
|
|
|
|
def __init__(self):
|
|
|
|
self.liczbaPolPoziomo = LICZBA_POL_W_POZIOMIE
|
|
|
|
self.liczbaPolPionowo = LICZBA_POL_W_PIONIE
|
|
|
|
self.bokPola = BOK_POLA
|
|
|
|
self.odstepMiedzyPolami = ODSTEP_MIEDZY_POLAMI
|
|
|
|
self.utworzPustaMape()
|
|
|
|
self.agent = None
|
|
|
|
|
|
|
|
def utworzPustaMape(self):
|
|
|
|
self.krata = []
|
|
|
|
for wiersz in range(self.liczbaPolPionowo):
|
|
|
|
self.krata.append([])
|
|
|
|
for kolumna in range(self.liczbaPolPoziomo):
|
|
|
|
zawartosc_pola = ZawartoscPola.PUSTE
|
|
|
|
nowe_pole = PoleMapy(self, wiersz, kolumna, zawartosc_pola)
|
|
|
|
self.krata[wiersz].append(nowe_pole)
|
|
|
|
|
|
|
|
|
|
|
|
class PoleMapy:
|
|
|
|
def __init__(self, mapa: Mapa, wiersz, kolumna, zawartosc: ZawartoscPola):
|
|
|
|
self.mapa = mapa
|
|
|
|
self.bok = self.mapa.bokPola
|
|
|
|
self.wiersz = wiersz
|
|
|
|
self.kolumna = kolumna
|
|
|
|
self.zawartosc = zawartosc
|
|
|
|
|
|
|
|
|
|
|
|
class WarunkiPowietrza:
|
|
|
|
def __init__(self, temperatura, wilgotnosc):
|
|
|
|
self.temperatura = temperatura
|
|
|
|
self.wilgotnosc = wilgotnosc
|
|
|
|
|
|
|
|
|
|
|
|
class Polka:
|
|
|
|
def __init__(self, wymiary: Wymiary, udzwig, wysokoscOdPodlogi):
|
|
|
|
self.wymiary = wymiary
|
|
|
|
self.udzwig = udzwig
|
|
|
|
self.wysokoscOdPodlogi = wysokoscOdPodlogi
|
|
|
|
|
|
|
|
|
|
|
|
class Szafka:
|
|
|
|
def __init__(self, wymiary: Wymiary):
|
|
|
|
self.wymiary = wymiary
|
|
|
|
self.Polki = []
|
|
|
|
self.zajmowanePola = []
|
|
|
|
|
|
|
|
def dodajPolke(self, polka: Polka):
|
|
|
|
self.Polki.append(polka)
|
|
|
|
|
|
|
|
def dodajPole(self, pole: PoleMapy):
|
|
|
|
self.zajmowanePola.append(pole)
|
|
|
|
|
|
|
|
|
|
|
|
class Pomieszczenie:
|
|
|
|
def __init__(self, warunkiPowietrza: WarunkiPowietrza, wysokoscSufitu):
|
|
|
|
self.warunkiPowietrza = warunkiPowietrza
|
|
|
|
self.wysokoscSufitu = wysokoscSufitu
|
|
|
|
self.Szafki = []
|
|
|
|
self.zajmowanePola = []
|
|
|
|
|
|
|
|
def dodajSzafke(self, szafka: Szafka):
|
|
|
|
self.Szafki.append(szafka)
|
|
|
|
|
|
|
|
def dodajPole(self, pole: PoleMapy):
|
|
|
|
self.zajmowanePola.append(pole)
|
2022-03-24 09:01:38 +01:00
|
|
|
|
|
|
|
class Etykieta:
|
|
|
|
def __init__(self, nazwaTowaru, nazwaNadawcy, dataZapakowania, id, niePietrowac, zachowacSuchosc, ostroznie, uwagaSzklo):
|
|
|
|
# realistyczne? informacje na paczce
|
|
|
|
# kategoryzowanie towaru może odbywać się na podstawie jego nazwy
|
|
|
|
self.nazwaTowaru = nazwaTowaru
|
|
|
|
self.nazwaNadawcy = nazwaNadawcy
|
|
|
|
self.dataZapakowania = dataZapakowania
|
|
|
|
self.id = id
|
|
|
|
# nalepki na paczce - być może nie będą na etykiecie, a trzeba je będzie rozpoznać na obrazie
|
|
|
|
self.niePietrowac = niePietrowac
|
|
|
|
self.zachowacSuchosc = zachowacSuchosc
|
|
|
|
self.ostroznie = ostroznie
|
|
|
|
self.uwagaSzklo = uwagaSzklo
|
|
|
|
|
|
|
|
class Paczka:
|
|
|
|
def __init__(self,wymiary: Wymiary, waga, etykieta: Etykieta):
|
|
|
|
self.wymiary = wymiary
|
|
|
|
self.waga = waga
|
|
|
|
self.etykieta = etykieta
|
|
|
|
|
|
|
|
class Paleta:
|
|
|
|
def __init__(self):
|
|
|
|
self.Paczki = []
|
|
|
|
|
|
|
|
def dodajPaczke(self, paczka: Paczka):
|
|
|
|
self.Paczki.append(paczka)
|
|
|
|
|
|
|
|
class Nadawca:
|
|
|
|
def __init__(self,nazwa, id):
|
|
|
|
self.nazwa = nazwa
|
|
|
|
self.id = id
|
|
|
|
# plus dodatkowe informacje mogące wpływać na priorytet rozpakowania transportu / miejsce składowania paczek?
|
|
|
|
|
|
|
|
class Transport:
|
|
|
|
def __init__(self, dataPrzyjecia, nadawca: Nadawca, id):
|
|
|
|
Palety = []
|
|
|
|
self.dataPrzyjecia = dataPrzyjecia
|
|
|
|
self.nadawca = nadawca
|
|
|
|
self.id = id
|
|
|
|
|
|
|
|
# wyliczanie priorytetu rozpakowania transportu ?
|
|
|
|
# def okrescPriorytet(self):
|
|
|
|
# self.priorytet =
|