Estoy realizando un juego, la idea es que cada vez que suceda algo se sume un determinado valor a la variable, para así usarla como un contador y que cuando se junte determinado valor cambie de pantalla. Dejo el código:
import pilas
import random
pilas.iniciar()
monedas_juntadas = 0
pilas.fondos.Selva()
texto2= pilas.actores.Texto("Bomber Pacman")
texto2.y = 200
class pantalla1 (pilas.escena.Base):
def __init__(self):
pilas.escena.Base.__init__(self)
def iniciar(self):
pilas.fondos.Pasto()
fantasma= pilas.actores.Fantasma()
fantasma.x= 0
fantasma.y= 0
fantasma.escala = 2
fantasma.aprender(pilas.habilidades.MoverseConElTeclado)
pilas.mundo.agregar_tarea_siempre(1, crear_moneda, monedas)
pilas.mundo.agregar_tarea_siempre(1, crear_bomba, bombas)
pilas.escena_actual().colisiones.agregar(fantasma, monedas, junta_moneda)
pilas.escena_actual().colisiones.agregar(fantasma, bombas, choca_bomba)
if monedas_juntadas>1:
pilas.cambiar_escena(pantalla3())
class pantalla3 (pilas.escena.Base):
def __init__(self):
pilas.escena.Base.__init__(self)
def iniciar(self):
pilas.fondos.Espacio()
fantasma= pilas.actores.Fantasma()
fantasma.x= 0
fantasma.y= 0
fantasma.escala = 2
fantasma.aprender(pilas.habilidades.MoverseConElTeclado)
pilas.mundo.agregar_tarea_siempre(1, crear_moneda, monedas)
pilas.mundo.agregar_tarea_siempre(1, crear_bomba2, bombas)
pilas.escena_actual().colisiones.agregar(fantasma, monedas, junta_moneda)
pilas.escena_actual().colisiones.agregar(fantasma, bombas, choca_bomba)
class pantalla2 (pilas.escena.Base):
def __init__(self):
pilas.escena.Base.__init__(self)
def iniciar(self):
pilas.fondos.Noche()
texto = pilas.actores.Texto('GAME OVER, has golpeado una bomba ')
texto.y = 200
pilas.actores.Menu(
[
('Reiniciar Juego', cambiar_escena),
('Salir', salir_del_juego),
])
def salir_del_juego():
pilas.terminar()
def cambiar_escena():
pilas.cambiar_escena(pantalla1())
pilas.actores.Menu(
[
('Iniciar juego', cambiar_escena),
('Salir', salir_del_juego),
])
def crear_moneda(monedas):
moneda= pilas.actores.Moneda()
moneda.x = random.randrange(-200, +200)
moneda.y = random.randrange(-200, +200)
monedas.append(moneda)
def crear_bomba(bombas):
bomba = pilas.actores.Bomba()
bomba.escala = 0.5
bomba.x = 340
bomba.y = random.randrange(-200, +200)
bomba.x = pilas.interpolar(-340, duracion=5)
bomba.x = pilas.interpolar([-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,], duracion=70)
bombas.append(bomba)
def crear_bomba2(bombas):
bomba = pilas.actores.Bomba()
bomba.escala = 0.5
bomba.x = 340
bomba.y = random.randrange(-200, +200)
bomba.x = pilas.interpolar(-340, duracion=5)
bomba.x = pilas.interpolar([-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,-340,340,], duracion=50)
bombas.append(bomba)
def choca_bomba(fantasma, bomba):
fantasma.decir('Ouch!')
pilas.cambiar_escena(pantalla2())
def junta_moneda(fantasma, moneda):
fantasma.decir("Yeah!",True)
global monedas_juntadas
monedas_juntadas = (monedas_juntadas+1)
moneda.eliminar()
monedas = pilas.grupo.Grupo()
bombas = pilas.grupo.Grupo()
pilas.ejecutar()
Ya probé y no logro hacer que la variable sume (o el if no funciona tambien puede ser) Desde ya, gracias!