-- coding: utf-8 --
import pilasengine
pilas = pilasengine.iniciar(titulo=“Pasar por escenas con logica”)
#Estas variables globales son las que nos ayudan a darle logica
entrar_por_izquierda = True
entrar_por_arriba = True
lateral = True
Perder = True
def incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
class MiActor(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/alien.png’)
global entrar_por_izquierda
global entar_por_arriba
global lateral
global Perder
self.escala = 0.75
self.velocidad = -10
if Perder == True:
self.x = 0
self.y = 0
else:
if lateral == True:
self.y = 0
if entrar_por_izquierda == True: #llamamos a la variable global
self.x = -260 #y se comprueba por donde debe entrar el actor
else:
self.x = 260
else:
self.x = 0
if entrar_por_arriba == True:
self.y = 180
else:
self.y = -180
self.aprender('limitadoabordesdepantalla')
self.aprender('moverseconelteclado')
class Puerta_abajo(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/piedra_media.png’)
self.y = -215
self.x = 0
self.escala = 1.5
class Puerta_arriba(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/piedra_media.png’)
self.y = 215
self.x = 0
self.escala = 1.5
class Puerta_izquierda(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/piedra_media.png’)
self.y = 0
self.x = -300
self.escala = 1.5
class Puerta_derecha(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/piedra_media.png’)
self.y = 0
self.x = 300
self.escala = 1.5
class Pregunta(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = (‘data/piedra_media.png’)
self.y = 0
self.x = -50
self.escala = 1.5
class Perdio(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.MiActor()
self.pilas.actores.Puerta_abajo()
pilas.colisiones.agregar("MiActor","Puerta_abajo", self.Reeiniciar)
pilas.avisar("GAME OVER")
def Reeiniciar(self):
global Perder
Perder = True
pilas.escenas.Escena_01() #Escena de final FALTA FONDO
class Menu(pilasengine.escenas.Escena):
def iniciar(self):
def iniciar_juego():
pilas.escenas.Escena_01()
def salir():
pilas.terminar()
btn_1 = pilas.interfaz.Boton(“Iniciar Juego”)
btn_1.conectar(iniciar_juego)
btn_2 = pilas.interfaz.Boton("Salir")
btn_2.conectar(salir)
btn_2.y = -50
class Escena_01(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar('MiActor', 'Puerta_derecha', self.pasar_a_derecha)
pilas.avisar('Escena 1')
def pasar_a_derecha(self):
global entrar_por_izquierda
global Perder
global lateral
global entrar_por_arriba
Perder = False
entrar_por_izquierda = True
lateral = True
entrar_por_arriba = True
pilas.escenas.Escena_02()
class Escena_02(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Volley()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Pregunta()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Pregunta", self.Preguntar)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.pasar_a_arriba)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.avisar('Escena 2')
def Preguntar(self):
txt = pilas.actores.Texto("Pregunta\ncual de estos corresponde al agua?")
txt.escala = 1
txt_1 = pilas.actores.Texto("H2O")
txt_1.x = 0
txt_1.y = 190
txt_2 = pilas.actores.Texto("Fe4")
txt_2.x = 0
txt_2.y = -190
txt_3 = pilas.actores.Texto("O2H")
txt_3.x = 250
txt_3.y = 0
def pasar_a_arriba(self):
global lateral
global entrar_por_izquierda
global entrar_por_arriba
entrar_por_arriba = False
lateral = False
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
def pasar_a_izquierda(self):
global lateral
global entrar_por_izquierda
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_01()
class Escena_03(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.Pregunta()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Pregunta", self.Preguntar)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.pasar_a_abajo)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Correcto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.Incorrecto)
pilas.avisar("Escena 3")
def pasar_a_abajo(self):
global lateral
global entrar_por_arriba
lateral = False
entrar_por_arriba = True
pilas.escenas.Escena_02()
def Correcto(self):
global entrar_por_izquierda
global lateral
entrar_por_izquierda = True
lateral = True
pilas.escenas.Escena_04()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
def Preguntar(self):
txt = pilas.actores.Texto("Pregunta:\nAl sepillarse los dientes..")
txt.escala = 1
txt_1 = pilas.actores.Texto("Dejar correr el agua ATR")#ARRIBA
txt_1.x = 0
txt_1.y = 190
txt_2 = pilas.actores.Texto("")#ABAJO
txt_2.x = 0
txt_2.y = -190
txt_3 = pilas.actores.Texto("Usar un vaso")#DERECHA
txt_3.x = 240
txt_3.y = 20
txt_4 = pilas.actores.Texto("chiqui chiqui")#Izquierda
txt_4.x = -250
txt_4.y = 0
class Escena_04(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.Pregunta()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Pregunta", self.Preguntar)
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Correcto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 4")
def Correcto(self):
global entrar_por_izquierda
global lateral
global entrar_por_arriba
entrar_por_arriba = True
entrar_por_izquierda = False
lateral = False
pilas.escenas.Escena_05()
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
def Preguntar(self):
txt = pilas.actores.Texto("Pregunta:\nComo lavar los platos?")
txt.escala = 1
txt_1 = pilas.actores.Texto("Dejar correr el agua ATR")#ARRIBA
txt_1.x = 0
txt_1.y = 190
txt_2 = pilas.actores.Texto("Enjabonar primero\nEnjuagar despues")#ABAJO
txt_2.escala = 0.60
txt_2.x = 0
txt_2.y = -180
txt_3 = pilas.actores.Texto("Enjabonar y enjuagar\ntodo al mismo tiempo")#DERECHA
txt_3.escala = 0.60
txt_3.x = 240
txt_3.y = 30
txt_4 = pilas.actores.Texto("")#Izquierda
txt_4.x = -250
txt_4.y = 0
class Escena_05(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.Pregunta()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor","Pregunta", self.Preguntar)
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Correcto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.pasar_a_arriba)
pilas.avisar("Escena 5")
def Correcto(self):
global entrar_por_izquierda
global lateral
global entrar_por_arriba
entrar_por_izquierda = True
lateral = True
entrar_por_arria
pilas.escenas.Escena_06()
def pasar_a_arriba(self):
global entrar_por_izquierda
global lateral
global entrar_por_arriba
entrar_por_arriba = False
lateral = False
entrar_por_izquierda = False
pilas.escenas.Escena_04()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
def Preguntar(self):
txt = pilas.actores.Texto("Pregunta:\nQue hacer con agua salada?")
txt.escala = 1
txt_1 = pilas.actores.Texto("")#ARRIBA
txt_1.x = 0
txt_1.y = 190
txt_2 = pilas.actores.Texto("Hacer Mate ATR")#ABAJO
txt_2.escala = 0.60
txt_2.x = 0
txt_2.y = -180
txt_3 = pilas.actores.Texto("Destilarla\n zo \nbaniarse")#DERECHA
txt_3.escala = 1
txt_3.x = 240
txt_3.y = 30
txt_4 = pilas.actores.Texto("Tomarla")#Izquierda
txt_4.x = -250
txt_4.y = 0
class Escena_06(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 6")
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
class Escena_07(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 7")
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
class Escena_08(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 8")
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
class Escena_09(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 8")
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
class Escena_10(pilasengine.escenas.Escena):
def iniciar(self):
self.fondo = pilas.fondos.Pasto()
self.pilas.actores.Puerta_abajo()
self.pilas.actores.Puerta_arriba()
self.pilas.actores.Puerta_izquierda()
self.pilas.actores.Puerta_derecha()
self.pilas.actores.MiActor()
pilas.colisiones.agregar("MiActor", "Puerta_izquierda", self.pasar_a_izquierda)
pilas.colisiones.agregar("MiActor", "Puerta_abajo", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_derecha", self.Incorrecto)
pilas.colisiones.agregar("MiActor", "Puerta_arriba", self.Incorrecto)
pilas.avisar("Escena 8")
def pasar_a_izquierda(self):
global entrar_por_izquierda
global lateral
lateral = True
entrar_por_izquierda = False
pilas.escenas.Escena_03()
def Incorrecto(self):
global Perder
Perder = True
pilas.escenas.Perdio()
#ACTORES NECESARIOS
pilas.actores.vincular(MiActor)
pilas.actores.vincular(Puerta_izquierda)
pilas.actores.vincular(Puerta_derecha)
pilas.actores.vincular(Puerta_arriba)
pilas.actores.vincular(Puerta_abajo)
pilas.actores.vincular(Pregunta)
#ESCENAS NECESARIAS
pilas.escenas.vincular(Menu)
pilas.escenas.vincular(Perdio)
pilas.escenas.vincular(Escena_01)
pilas.escenas.vincular(Escena_02)
pilas.escenas.vincular(Escena_03)
pilas.escenas.vincular(Escena_04)
pilas.escenas.vincular(Escena_05)
pilas.escenas.vincular(Escena_06)
pilas.escenas.vincular(Escena_07)
pilas.escenas.vincular(Escena_08)
pilas.escenas.vincular(Escena_09)
pilas.escenas.vincular(Escena_10)
pilas.escenas.Menu()
pilas.ejecutar()