def indio(self, imagem, x, y, cena): """ Cria o personagem principal na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. """ # self.o_indio = Indio(imagem, x=1, y=0, cena=cena, taba=self) """ O índio tem deslocamento zero, pois é relativo à vaga. O **x=1** serve para distinguir o indio de outros derivados. """ # self.o_indio.indio.vai = lambda *_: self.o_indio.pega() #self.o_indio.indio.vai = lambda *_: self.o_indio.empurra() """o índio.vai é associado ao seu próprio metodo pega""" # vaga = Vazio("", x=x, y=y, cena=cena, ocupante=self.o_indio, taba=self) self.o_indio = self.indios[0](imagem, x=1, y=0, cena=cena, taba=self, vitollino=self.v) """ O índio tem deslocamento zero, pois é relativo à vaga. O **x=1** serve para distinguir o indio de outros derivados. """ self.o_indio.indio.vai = lambda *_: self.o_indio.pega() """o índio.vai é associado ao seu próprio metodo pega""" vaga = Vazio("", x=x, y=y, cena=cena, ocupante=self.o_indio) self.os_indios.append(self.o_indio) self.indios.rotate() return vaga
def vazio(self, imagem, x, y, cena): """ Cria um espaço vazio na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. """ vaga = Vazio(imagem, x=x, y=y, cena=cena, ocupante=self, taba=self) """ O Kwarwp é aqui usado como um ocupante nulo, que não ocupa uma vaga vazia.""" return vaga
def tora(self, imagem, x, y, cena): """ Cria uma armadilha na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. Cria uma vaga vazia e coloca o componente dentro dela. """ coisa = Tora(imagem, x=x, y=y, cena=cena, taba=self) vaga = Vazio("", x=x, y=y, cena=cena, ocupante=coisa, taba=self) return vaga
def maloc(self, imagem, x, y, cena): """ Cria uma maloca na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. Cria uma vaga vazia e coloca o componente dentro dela. """ coisa = Oca(imagem, x=0, y=0, cena=cena, taba=self) coisa.vazio.vai = lambda *_: self.o_indio.empurra() vaga = Vazio("", x=x, y=y, cena=cena, ocupante=coisa, taba=self) return vaga
def atora(self, imagem, x, y, cena): """ Cria uma tora na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. Cria uma vaga vazia e coloca o componente dentro dela. """ coisa = Tora(imagem, x=0, y=0, cena=cena, taba=self) vaga = Vazio("", x=x, y=y, cena=cena, ocupante=coisa, taba=self) coisa.vazio.vai = lambda *_: self.o_indio.larga() """o vazio.vai é associado ao método larga do índio""" return vaga
def coisa(self, imagem, x, y, cena): """ Cria um elemento na arena do Kwarwp na posição definida. :param x: coluna em que o elemento será posicionado. :param y: linha em que o elemento será posicionado. :param cena: cena em que o elemento será posicionado. , Cria uma vaga vazia e coloca o componente dentro dela. """ coisa = Indio(imagem, x=0, y=0, cena=cena, taba=self) """o índio tem deslocamento zero, pois é relativo à vaga""" vaga = Vazio("", x=x, y=y, cena=cena, ocupante=coisa, taba=self) """Aqui o índio está sendo usado para qualquer objeto, enquanto não tem o próprio""" return vaga