Buenas, estoy programando (por primera vez en mi vida) un juego de preguntas y respuestas para un proyecto final de mi universidad.
Sin embargo, me surge un problema al hacer el cambio de boton. Ya que deberia eliminarse, pero a veces (sin ninguna razon visible) los botones no se borran.
Dejo el codigo por si alguno puede ver mas de lo que yo veo.
# coding: utf-8
import pilasengine
import random
pilas = pilasengine.iniciar()
def ayuda():
bombero.decir("Selecciona inicio para comenzar el juego\nLuego aparecera una pregunta con 3 respuestas en pantalla\ncontesta correctamente todas las preguntas para ganar!!",False)
soundtracki=pilas.musica.cargar("Su turno.ogg")
soundtracki.reproducir(True)
nombre=raw_input("Ingrese su nombre")
fondoi=pilas.fondos.Fondo()
fondoi.imagen=pilas.imagenes.cargar("fondos/PROJECT Q.png")
bombero=pilas.actores.Actor(imagen="elbombero.png")
bombero.escala_x=0.25
bombero.escala_y=0.25
bombero.y=-150
bombero.x=150
bombero.decir("Hey hola "+nombre+"\nSi necesistas ayuda haz click sobre mi")
bombero.set_cuando_hace_click(ayuda)
def comenzar():
i=0
pilas.escenas.Normal()
soundtrack=pilas.musica.cargar("Blues.ogg")
soundtrack.reproducir(True)
pilas.fondos.Tarde()
p=pilas.actores.Puntaje()
p.x=200
p.y=-200
lista=[[(u"Quien debe realizar una instalacion de gas?"),(u"Gasista sin matricula"),(u"Gasista matriculado"),(u"Cualquiera persona"),2],[(u"El funcionamiento de los artefactos de gas,se verifica:"),(u"Periodicamente"),(u"Solo al instalarse"),(u"Solo si hay perdidas"),1],[(u"Quien puede modificar una instalacion?"),(u"Cualquiera"),(u"Gasista sin matricula"),(u"Gasista matriculado"),3],[(u"La llama de un quemador de gas de ser:"),(u"Amarilla"),(u"Azul"),(u"Anaranjado"),2],[(u"Durante sencias prolongadas"),(u"Cerrar llaves de gas"),(u"Dejar abiertas llaves de gas"),(u"Es indistinto"),1],[(u"Los conductos de evacuacion de gases deben ser"),(u"Sin salida al exterior"),(u"Salida a los cuatro vientos"),(u"Ninguna de las anteriores"),2],[(u"En ambientes cerrados los artefactos deben ser"),(u"Tiro natural"),(u"Tipo infrarrojo"),(u"Tiro balanceado"),3],[(u"En ambiente con artefacto de tiro natural el lugar debe estar:"),(u"Cerrado"),(u"Ventilado siempre"),(u"Es distinto"),2],[(u"Para calefacionar se usa"),(u"Hornalla"),(u"Horno"),(u"Calefactor de tiro balanceado"),3],[(u"Con el quemador a maxima potencia la llama es"),(u"Estable"),(u"Fluctua su dimension"),(u"Inestable"),1],[(u"Si sentis olor a gas,no:"),(u"Abras puertas y ventanas"),(u"Enciendas luces"),(u"Cierres llaves de gas"),2]]
random.shuffle(lista)
def cambio_de_boton(lista, i):
botonr1=pilas.interfaz.Boton(x=350, y=100,texto=str(lista[i][1]))
botonr1.x=[150,150]
botonr2=pilas.interfaz.Boton(x=350, y=50,texto=str(lista[i][2]))
botonr2.x=[150,150]
botonr3=pilas.interfaz.Boton(x=350, y=0,texto=str(lista[i][3]))
botonr3.x=[150,150]
pregunt=pilas.actores.Texto(str(lista[i][0]))
pregunt.x=[-300,-100]
pregunt.y=150
def comparador(textoboton,lista,i):
indice=lista[i].index(textoboton)
if indice==lista[i][4]:
pilas.avisar("correcto")
p.aumentar(10)
else:
pilas.avisar("Incorrecto")
p.aumentar(-5)
botonr1.eliminar()
botonr1.x=10000
botonr2.eliminar()
botonr2.x=10000
botonr3.eliminar()
botonr3.x=10000
pregunt.eliminar()
pregunt.x=100000
if i<=11:
cambio_de_boton(lista,i+1)
else:
pilas.avisar("FIN")
def boton_tocado1():
textoboton1=botonr1.texto
comparador(textoboton1,lista,i)
def boton_tocado2():
textoboton2=botonr2.texto
comparador(textoboton2,lista,i)
def boton_tocado3():
textoboton3=botonr3.texto
comparador(textoboton3,lista,i)
botonr1.conectar(boton_tocado1)
botonr2.conectar(boton_tocado2)
botonr3.conectar(boton_tocado3)
cambio_de_boton(lista,i)
print (lista)
def salir():
pilas.terminar()
Menu=pilas.actores.Menu([('Inicio', comenzar),('salir', salir),])
Menu.x=-200
pilas.ejecutar()