Como hago para cambiar de preguntas?

Lo hice pero en un momento me salta error y noce como hacerlo noce que esta mal y otra cosa noce como al elegir una respuesta correcta se elimine y no se vuelva a preguntar esa misma pregunta, le dejare el codigo abajo si me puede ayudar seria de mucha ayuda y le agredeceria un monton :slight_smile:
ya tengo todo lo del juego, lo cual estoy haciendo por parte para que no nse amontone todo pero despues los voy a unir y para eso necesito terminar esto es lo unico que me falta y noce como hacerlo porque me salta error.
Gracias

import pilasengine

import random

pilas = pilasengine.iniciar()

p = pilas.actores.Puntaje()
p.x= 260
p.y = 50

lista1=["como se llama el dt de barcelona","Zinedine Zidane","Pep Guardiola","Luis Enrique"],["Cual es el apodo del Leicester City","Los Lobos","Los Pajaros","Los Zorros"],["En que equipo debuto Diego Armando Maradona","Boca Juniors","River","Argentinos"],["Donde nacio Lionel Messi","Buenos Aires","Rosario","Cordoba"],["En la actualidad quien es el arquero de la Argentina","Orion","Romero","Andujar"],["Donde hizo las inferiores Leo Messi","Boca","newell's","San Lorenzo"],["Gareth Bale de que Nacionalidad es","Ruso","Gales","Turco"]
                                                
elegir = random.choice(lista1)
t = pilas.actores.Texto(elegir[0])
t.color = pilas.colores.Color(222,0, 128)
t.y = 200

def f1():
    pilas.avisar("Incorrecto")
    p.aumentar(-10)
def f2():
    pilas.avisar("Incorrecto")
    p.aumentar(-10)  
def f3():
    pilas.avisar("Correcto")
    p.aumentar(10)
    b1.eliminar()
    b2.eliminar()
    b3.eliminar()
    t.eliminar()
    nueva_pregunta()
    
b1 = pilas.interfaz.Boton(elegir[1])
b1.x=200
b1.y=-200
b1.conectar(f1)
b2 = pilas.interfaz.Boton(elegir[2])
b2.x=-200
b2.y=-200
b2.conectar(f2)
b3 = pilas.interfaz.Boton(elegir[3])
b3.conectar(f3)
b3.y=-200

def nueva_pregunta():
    lista1=["como se llama el dt de barcelona","Zinedine Zidane","Pep Guardiola","Luis Enrique"],["Cual es el apodo del Leicester City","Los Lobos","Los Pajaros","Los Zorros"],["En que equipo debuto Diego Armando Maradona","Boca Juniors","River","Argentinos"],["Donde nacio Lionel Messi","Buenos Aires","Rosario","Cordoba"],["En la actualidad quien es el arquero de la Argentina","Orion","Romero","Andujar"],["Donde hizo las inferiores Leo Messi","Boca","newell's","San Lorenzo"],["Gareth Bale de que Nacionalidad es","Ruso","Gales","Turco"]                                  
    elegir = random.choice(lista1)  
    t = pilas.actores.Texto(elegir[0])
    t.color = pilas.colores.Color(222,0, 128)
    t.y = 200
    
    def f1():
        pilas.avisar("Incorrecto")
        p.aumentar(-10)
    def f2():
        pilas.avisar("Incorrecto")
        p.aumentar(-10)  
    def f3():
        pilas.avisar("Correcto")
        p.aumentar(10)
        b1.eliminar()
        b2.eliminar()
        b3.eliminar()
        t.eliminar()
        nueva_pregunta()
    b1 = pilas.interfaz.Boton(elegir[1])
    b1.x=200
    b1.y=-200
    b1.conectar(f1)
    b2 = pilas.interfaz.Boton(elegir[2])
    b2.x=-200
    b2.y=-200
    b2.conectar(f2)
    b3 = pilas.interfaz.Boton(elegir[3])
    b3.conectar(f3)
    b3.y=-200


pilas.ejecutar()

Buenas, @MarcToni

Qué error te da exactamente???

Un saludo.

1 Like

me salta este error siempre, por ejemplo toca la respuesta correcta y me pasa a la siguiente o vuelve a la misma pregunta y pasando 2 preguntas o mas en un momento me salta ese error de la imagen.
Si me podrias ayudar con el tema del error me te lo re agradeceria de enserio.
Saludos

Buenas, @MarcToni

A veces menos es más… :wink:

Lo unico que habia que hacer era quitar todo el codigo innecesario del principio y de fuera de la def nueva_pregunta().

Nunca es buena idea repetir nombres y actores o botones. Cada uno debe llevar su nombre propio, y a ser posible no duplicar nada.

Un saludo.

import pilasengine

import random

pilas = pilasengine.iniciar()

p = pilas.actores.Puntaje()
p.x= 260
p.y = 50

def nueva_pregunta():
	lista1=["como se llama el dt de barcelona","Zinedine Zidane","Pep Guardiola","Luis Enrique"],["Cual es el apodo del Leicester City","Los Lobos","Los Pajaros","Los Zorros"],["En que equipo debuto Diego Armando Maradona","Boca Juniors","River","Argentinos"],["Donde nacio Lionel Messi","Buenos Aires","Rosario","Cordoba"],["En la actualidad quien es el arquero de la Argentina","Orion","Romero","Andujar"],["Donde hizo las inferiores Leo Messi","Boca","newell's","San Lorenzo"],["Gareth Bale de que Nacionalidad es","Ruso","Gales","Turco"] 
	elegir = random.choice(lista1)
	t = pilas.actores.Texto(elegir[0])
	t.color = pilas.colores.Color(222,0, 128)
	t.y = 200

	def f1():
		pilas.avisar("Incorrecto")
		p.aumentar(-10)
	def f2():
		pilas.avisar("Incorrecto")
		p.aumentar(-10)  
	def f3():
		pilas.avisar("Correcto")
		p.aumentar(10)
		b1.eliminar()
		b2.eliminar()
		b3.eliminar()
		t.eliminar()
		nueva_pregunta()
	b1 = pilas.interfaz.Boton(elegir[1])
	b1.x=200
	b1.y=-200
	b1.conectar(f1)
	b2 = pilas.interfaz.Boton(elegir[2])
	b2.x=-200
	b2.y=-200
	b2.conectar(f2)
	b3 = pilas.interfaz.Boton(elegir[3])
	b3.conectar(f3)
	b3.y=-200

nueva_pregunta() # agregar esto aqui

pilas.ejecutar()
2 Likes

Hola nuevamente jaja
emm me sigue pasando lo del error, al contestar bien una y después otra me salta error el mismo que el de hoy, saque todo lo que estaba fuera del def nueva pregunta()
y sigue pasando igual :frowning: :frowning: :frowning:

Soy nuevo en esto y me gustaria aprender, y por eso me cuesta un poco. :confused:

Buenas, @MarcToni

Mejor copia y pega mi código en tu editor.

Yo le he dado como 50 veces al boton del centro y como 20 a los otros dos, y no me ha saltado ningun error.

Un saludo.

1 Like

2 Likes

aah bueno y por última cosa que me faltaria como hago al contestar correcta una pregunta, que se elimine esa pregunta y no vuelva a preguntar devuelta la misma.
Gracias por estar ayudandome se lo re agradesco.

1 Like

Saludos,
Como va el juego?
agregue un metodo sencillito para ubicar los botones respuesta aleatoriamente, para evitar que siempre la respuesta fuese el boton del medio.

Y ademas esa misma logica te sirve para evitar que se repitan las preguntas, es decir haces un shuffle de la lista de preguntas y barres de 0 a fin de la lista, cuando llegues al final puedes contabilizar la estadistica del jugador, y podrias emplear otras listas etc…

Aqui la modificacion o agregado: (Nota no se nada de futbol por lo que no se si coinciden las respuestas correctas :joy:
Disculpa lo tarde que te doy la contribucion pero recien me activo en la maravillosa comunidad de pilas, y de verdad tengo ganas de aprender. Y creo que esta es la mejor manera de aprender, revisando codigos :relaxed:

import pilasengine
import random
pilas = pilasengine.iniciar()

p = pilas.actores.Puntaje()
p.x= 260
p.y = 50

def nueva_pregunta():
    lista1=["como se llama el dt de barcelona","Zinedine Zidane","Pep Guardiola","Luis Enrique"],["Cual es el apodo del Leicester City","Los Lobos","Los Pajaros","Los Zorros"],["En que equipo debuto Diego Armando Maradona","Boca Juniors","River","Argentinos"],["Donde nacio Lionel Messi","Buenos Aires","Rosario","Cordoba"],["En la actualidad quien es el arquero de la Argentina","Orion","Romero","Andujar"],["Donde hizo las inferiores Leo Messi","Boca","newell's","San Lorenzo"],["Gareth Bale de que Nacionalidad es","Ruso","Gales","Turco"]
    elegir = random.choice(lista1)
    t = pilas.actores.Texto(elegir[0])
    t.color = pilas.colores.Color(222,0, 128)
    t.y = 200

    def f1():
        pilas.avisar("Incorrecto")
        p.aumentar(-10)

    def f2():
        pilas.avisar("Incorrecto")
        p.aumentar(-10)
    def f3():
        pilas.avisar("Correcto")
        p.aumentar(10)
        b1.eliminar()
        b2.eliminar()
        b3.eliminar()
        t.eliminar()
        nueva_pregunta()

    def mezclar_botones():
        ubicacion = [200,0,-200]
        random.shuffle(ubicacion)
        return ubicacion
    ubicacion = mezclar_botones()
    b1 = pilas.interfaz.Boton(elegir[1]+'1')
    b1.x= ubicacion[0]
    b1.y=-200
    b1.conectar(f1)
    b2 = pilas.interfaz.Boton(elegir[2]+'2')
    b2.x=ubicacion[1]
    b2.y=-200
    b2.conectar(f2)
    b3 = pilas.interfaz.Boton(elegir[3]+'3')
    b3.conectar(f3)
    b3.x = ubicacion[2]
    b3.y=-200
nueva_pregunta()
pilas.ejecutar()
1 Like

Una solución sencilla y elegante… felicitaciones :wink:

3 Likes

Gracias @Jordinur, muchas gracias por tomar en cuenta los comentarios eso motiva mucho :slight_smile:

1 Like