Hola a todos. Estoy realizando un juego de tipo preguntas y respuestas sobre geografìa en el cual dada una provincia pide la capital y aumenta el puntaje en caso de hacer click en la respuesta correcta. Mi problema es que solo puedo hacer una vez y no logro conseguir que cambien las preguntas y respuestas. Muchas gracias
Dejo el còdigo abajo:
import pilas
import random
pilas.iniciar()
def ayuda():
escena_ayuda=pilas.escena.Normal()
pilas.cambiar_escena(escena_ayuda)
pilas.fondos.Pasto()
texto=pilas.actores.Texto("El juego conciste en responder preguntas\n sobre capitales....")
texto.escala=0.8
texto.y= 150
boton_volver()
def boton_volver():
boton=pilas.interfaz.Boton("Volver Atras")
boton.x=180
boton.y=-150
boton.conectar(menu)
def iniciar():
escena_iniciar=pilas.escena.Normal()
pilas.cambiar_escena(escena_iniciar)
jugar()
def salir():
pilas.terminar()
def aumentar_contador():
global mi_puntaje
mi_puntaje.aumentar(25)
print mi_puntaje
def menu():
escena_menu=pilas.escena.Normal()
pilas.cambiar_escena(escena_menu)
pilas.fondos.Noche()
menu=pilas.actores.Menu([("Iniciar",iniciar),("Ayuda",ayuda),("Salir",salir)])
def num_rand(x,y):
return random.randrange(x,y)
def jugar():
global mi_puntaje, fondo
escena_jugar=pilas.escena.Normal()
pilas.cambiar_escena(escena_jugar)
fondo=pilas.fondos.Tarde()
seleccion_prov()
pregunta()
crear_botones()
mi_puntaje=contador()
mi_puntaje.escala=0.8
mi_puntaje.y=225
mi_puntaje.x=280
pilas.tareas.una_vez(2, reiniciar)
def seleccion_prov():
for elem in range(0,4):
num=num_rand(0,23)
prov=provincias[num]
x1.append(prov)
def contador():
con=pilas.actores.Texto("Puntaje")
con.y=225
con.x=220
con.escala=0.8
contador=pilas.actores.Puntaje(0)
return contador
def cuando_selecciona_boton1():
if bott1==pr[1]:
aumentar_contador()
else:
pilas.avisar("Error")
def cuando_selecciona_boton2():
if bott2==pr[1]:
aumentar_contador()
else:
pilas.avisar("error2")
def cuando_selecciona_boton3():
if bott3==pr[1]:
aumentar_contador()
else:
pilas.avisar("error3")
def cuando_selecciona_boton4():
if bott4==pr[1]:
aumentar_contador()
else:
pilas.avisar("error4")
def crear_botones():
global bott1
global bott2, bott3, bott4
global num_al
bot1=pilas.interfaz.Boton(x1[0][1])
bot2=pilas.interfaz.Boton(x1[1][1])
bot3=pilas.interfaz.Boton(x1[2][1])
bot4=pilas.interfaz.Boton(x1[3][1])
bot1.x=-60
bot2.x=60
bot3.x=-60
bot4.x=60
bot1.y=-50
bot2.y=-50
bot3.y=-80
bot4.y=-80
bott1= str(x1[0][1])
bott2= str(x1[1][1])
bott3= str(x1[2][1])
bott4= str(x1[3][1])
bot1.conectar(cuando_selecciona_boton1)
bot2.conectar(cuando_selecciona_boton2)
bot3.conectar(cuando_selecciona_boton3)
bot4.conectar(cuando_selecciona_boton4)
def pregunta():
global pr
pr=x1[num_al]
pregunta=pilas.actores.Texto("Cual es la capital de "+pr[0]+"?")
pregunta.y=150
def reiniciar():
actores= pilas.actores.listar_actores()
for actor in actores:
if actor not in [mi_puntaje, fondo]:
actor.eliminar()
seleccion_prov()
pregunta()
crear_botones()
x1=[]
provincias=[["Buenos Aires","La Plata"],["Catamarca","San Fdo del valle de Catamarca"],["Chaco","Resistencia"],["Chubut","Rawson"],["Cordoba","Cordoba"],["Corrientes","Corrientes"],["Entre Rios","Parana"],["Formosa","Formosa"],["Jujuy","San Salvador de Jujuy"],["La Pampa","Santa Rosa"],["La Rioja","La Rioja"],["Misiones","Posadas"],["Mendoza","Mendoza"],["Neuquen","Neuquen"],["Rio Negro","Viedma"],["Salta","Salta"],["San Juan","San Juan"],["San Luis","San Luis"],["Santa Cruz","Rio Gallegos"],["Santa Fe","Santa Fe"],["Santiago del Estero","Santiago del Estero"],["Tierra del Fuego","Ushuaia"],["Tucuman","San Miguel de Tucuman"]]
num_al=num_rand(0,4)
menu()
pilas.ejecutar()