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) vaga = Vazio("", x=x, y=y, cena=cena, ocupante=coisa, taba=self) return vaga
def testa_pega_vazio_oca_piche(self): """ Vai até a piche, oca e vazio e tenta pegar.""" cena = self.k.cria() ftaba = self.t l = self.LADO indio = self.k.o_indio indio.pega() coisa = Oca("", x=0, y=0, cena=cena, taba=self.k) vaga = Vazio("", x=3*l, y=2*l, cena=cena, ocupante=coisa) vazio = self.k.taba[(3,2)] = vaga indio.pega() coisa = Piche("", x=0, y=0, cena=cena, taba=self.k) vaga = Vazio("", x=3*l, y=2*l, cena=cena, ocupante=coisa) vazio = self.k.taba[(3,2)] = vaga indio.pega() indio.esquerda() indio.esquerda() indio.pega()
def testa_chega_taba_indio(self): """ Chega no seu destino, tenta mover o índio, mas fica preso.""" ftaba = self.t cena = self.k.cria() l = self.LADO indio = self.k.o_indio oca = Oca("", x=0, y=0, cena=cena, taba=ftaba) vaga = Vazio("", x=3*l, y=2*l, cena=cena, ocupante=oca) vazio = self.k.taba[(3,1)] = vaga self.assertIsInstance(vazio.ocupante, Oca, f"but vaga was {type(vazio.ocupante)}") pos = oca.posicao self.assertEquals((3, 1), pos, f"but oca pos was {pos}") indio.anda() indio.anda() self.assertIsInstance(indio.vaga, Oca, f"but vaga was {type(indio.vaga)}") self.assertEquals(oca, indio.vaga, f"but vaga was {indio.vaga}") self.assertIn("chegou", ftaba.falou, f"but fala was {ftaba.falou}") indio.anda() pos = indio.posicao self.assertEquals((3, 1), pos, f"but last pos was {pos}")