Chicos a ver quien me puede ayudar. Hice un contador de vidas pero cuando elimino la vida no me elimina la imagen que corresponde a esa vida, pareciera que tampoco me responde una de las variables, este es el módulo donde tengo implementado el contador:
# -*- coding: utf-8 -*-
import pilas
class ContadorDeVidas:
def __init__(self, cantidad_de_vidas):
self.crear_texto()
self.cantidad_de_vidas = cantidad_de_vidas
self.vidas = [pilas.actores.Actor("imagenes/vida.png") for x in range(cantidad_de_vidas)]
for indice, vida in enumerate(self.vidas):
vida.x = -280 + indice * 33
vida.arriba = 295
def crear_texto(self):
"Genera el texto que dice 'vidas'"
self.texto = pilas.actores.Texto("Vidas:")
self.texto.color = pilas.colores.blanco
self.texto.magnitud = 20
self.texto.izquierda = -380
self.texto.arriba = 300
def le_quedan_vidas(self):
return self.cantidad_de_vidas > 0
def quitar_una_vida(self):
self.cantidad_de_vidas -= 1
vida = self.vidas.pop()
vida.eliminar()
Y acá lo llamo:
def ver_habitad_correcto (self,caja,animal):
"Comprueba si el animal corresponde a la caja a la que se arrastra"
import contador_de_vidas
if caja.habitad==self.habitad_actual:
self.puntaje.aumentar(10)
caja.decir("Bien!!! +10pts")
self.animal.eliminar()
self.actualizar_animal()
sonido_bien.reproducir()
else:
self.puntaje.aumentar(-3)
caja.decir("Oh no, te equivocaste -3pts")
self.animal.eliminar()
self.actualizar_animal()
self.contador_de_vidas.quitar_una_vida()
sonido_mal.reproducir()
if not (self.contador_de_vidas.le_quedan_vidas()):
self.fin_del_juego()
El tema es que no me hace el descuento de las vidas en la pantalla, pero tampoco me da error en ninguna parte, solo me arroja un error cuando pierdo las 3 vidas y me vuelvo a equivocar porque no puede hacer el pop de la lista indexada.