Hola buenas noches,
Gracias por la respuesta! Seguí tu ejemplo tal cual me lo pasaste y cree el resto de los botones. Logré hacer que funcionara, lo guardé y cuando lo abrí de nuevo no funcionó más! Da error en el método ultimo_boton_pulsado. La verdad que ya no sé que puede ser, ¿será que al guardar el archivo se produce algún cambio?.
Cualquier asistencia se los agradeceré.
Saludos,
-------CÓDIGO--------
# coding: utf-8
import pilasengine
import sys
sys.path.insert(0, "..")
pilas = pilasengine.iniciar()
fondo_inicial = pilas.fondos.Plano()
titulo=pilas.actores.Texto(u"Irregular Verbs")
titulo.color=pilas.colores.Color(245,0,154)
#dar las instrucciones del juego
def dar_instrucciones():
tuna.decir(u"Match the infinitive and simple past forms\n of the following irregular verbs.")
btn_ready = pilas.interfaz.Boton(u"Ready?")
btn_ready.x = 0
btn_ready.y = -150
btn_yes.ocultar()
btn_no.ocultar()
#opcion_juega
def crear_iniciar_juego():
fondo_inicial.eliminar()
fondo = pilas.fondos.FondoMozaico()
tuna.eliminar()
titulo.eliminar()
btn_ready.eliminar()
#BOTONES
puntaje = pilas.actores.Puntaje(x=0, y=0)
puntaje.color = pilas.colores.Color(0,0,255)
boton_do = pilas.interfaz.Boton("DO", x=-126, y=170)
boton_did = pilas.interfaz.Boton("DID", x=0, y=-80)
boton_buy = pilas.interfaz.Boton("BUY", x=130, y=170)
boton_bought = pilas.interfaz.Boton("BOUGHT", x=-126, y=-200)
boton_fall = pilas.interfaz.Boton("FALL", x=-255, y=170)
boton_fell = pilas.interfaz.Boton("FELL", x=130, y=-200)
boton_get = pilas.interfaz.Boton("GET", x=-255, y=45)
boton_got = pilas.interfaz.Boton("GOT", x=255, y=-80)
boton_speak = pilas.interfaz.Boton("SPEAK", x=0, y=-200)
boton_spoke = pilas.interfaz.Boton("SPOKE", x=0, y=45)
boton_make = pilas.interfaz.Boton("MAKE", x=255, y=170)
boton_made = pilas.interfaz.Boton("MADE", x=-255, y=-200)
boton_run = pilas.interfaz.Boton("RUN", x=-126, y=-80)
boton_ran = pilas.interfaz.Boton("RAN", x=255, y=-200)
boton_write = pilas.interfaz.Boton("WRITE", x=-255, y=-80)
boton_wrote = pilas.interfaz.Boton("WROTE", x=255, y=45)
boton_drink = pilas.interfaz.Boton("DRINK", x=0, y=170)
boton_drank = pilas.interfaz.Boton("DRANK", x=130, y=-80)
boton_meet = pilas.interfaz.Boton("MEET", x=-126, y=45)
boton_met = pilas.interfaz.Boton("MET", x=130, y=45)
parejas_de_botones = [
[boton_do, boton_did],
[boton_buy, boton_bought],
[boton_fall, boton_fell],
[boton_get, boton_got],
[boton_speak, boton_spoke],
[boton_make, boton_made],
[boton_run, boton_ran],
[boton_write, boton_wrote],
[boton_drink, boton_drank],
[boton_meet, boton_met]
]
def son_botones_pareja(boton_1, boton_2):
combinacion_1 = [boton_1, boton_2]
combinacion_2 = [boton_2, boton_1]
if combinacion_1 in parejas_de_botones:
return True
if combinacion_2 in parejas_de_botones:
return True
return False
ultimo_boton_pulsado = None
def cuando_pulsa_un_boton():
global ultimo_boton_pulsado
posicion_del_mouse = pilas.obtener_posicion_del_mouse()
(x, y) = posicion_del_mouse
# Obtiene el actor debajo del mouse, el [-1] sirve
# para evitar que se detecte el fondo de pantalla como
# el actor pulsado.
actor_pulsado = pilas.obtener_actores_en(x, y)[-1]
if actor_pulsado:
if ultimo_boton_pulsado:
if son_botones_pareja(ultimo_boton_pulsado, actor_pulsado):
ultimo_boton_pulsado.eliminar()
actor_pulsado.eliminar()
puntaje.aumentar()
texto = pilas.actores.TextoInferior(actor_pulsado.texto + " y " + ultimo_boton_pulsado.texto)
texto.color = pilas.colores.azul
#pilas.avisar(actor_pulsado.texto + " y " + ultimo_boton_pulsado.texto)
ultimo_boton_pulsado = actor_pulsado
# Conecta todos los botones a la funcion que
# elimina y suma puntos
boton_do.conectar(cuando_pulsa_un_boton)
boton_did.conectar(cuando_pulsa_un_boton)
boton_buy.conectar(cuando_pulsa_un_boton)
boton_bought.conectar(cuando_pulsa_un_boton)
boton_fall.conectar(cuando_pulsa_un_boton)
boton_fell.conectar(cuando_pulsa_un_boton)
boton_get.conectar(cuando_pulsa_un_boton)
boton_got.conectar(cuando_pulsa_un_boton)
boton_speak.conectar(cuando_pulsa_un_boton)
boton_spoke.conectar(cuando_pulsa_un_boton)
boton_make.conectar(cuando_pulsa_un_boton)
boton_made.conectar(cuando_pulsa_un_boton)
boton_run.conectar(cuando_pulsa_un_boton)
boton_ran.conectar(cuando_pulsa_un_boton)
boton_write.conectar(cuando_pulsa_un_boton)
boton_wrote.conectar(cuando_pulsa_un_boton)
boton_drink.conectar(cuando_pulsa_un_boton)
boton_drank.conectar(cuando_pulsa_un_boton)
boton_meet.conectar(cuando_pulsa_un_boton)
boton_met.conectar(cuando_pulsa_un_boton)
btn_ready.conectar(crear_iniciar_juego)
#opcion no juega
def no_juega():
tuna.decir(u"Bye, see you later!")
tuna.eliminar()
btn_yes.eliminar()
btn_no.eliminar()
titulo.eliminar()
fondo_inicial.eliminar()
tuna=pilas.actores.Aceituna()
tuna.escala=2
tuna.y=100
tuna.decir(u"Wanna play a game?")
#YES
btn_yes = pilas.interfaz.Boton(u"YES")
btn_yes.x = -100
btn_yes.y = -60
btn_yes.conectar(dar_instrucciones)
#NO
btn_no = pilas.interfaz.Boton(u"NO")
btn_no.x = 100
btn_no.y = -60
btn_no.conectar(no_juega)
pilas.ejecutar()