
from elems import Element

class MobleModular:

    def __init__(self, alt, ample, num_cossos):
        self.alt = alt
        self.ample = ample
        self.ncossos = num_cossos
        self.__contingut = []
        for i in range(num_cossos):
            self.__contingut.append([])

    def afegir(self, nc, tipus, alcada):
        atot = alcada
        for elem in self.__contingut[nc]:
            atot = atot + elem.alcada
        if atot <= self.alt:
            self.__contingut[nc].append(Element(tipus, alcada))

    def __len__(self):
        ne = 0
        for cos in self.__contingut:
            ne = ne + len(cos)
        return ne

    def __getitem__(self, tup):
        i, j = tup
        return self.__contingut[i][j]

    def nelems(self, icos):
        return len(self.__contingut[icos])

