Necesito una ayudita!

Hola! Estoy haciendo un juego para la facultad y tengo algunas trabas: 1) no se como “hacer que ande el juego”, es decir no logro que cuando se clickea el boton de la respuesta haga lo que espero; 2) no logro sumar bien los puntajes tanto a favor como en contra. El juego es una trivia de preguntas. Les dejo el codigo a ver si me pueden ayudar. Desde ya, muchas gracias. Saludos Laureano

import pilasengine

import random

class Menu(pilasengine.escenas.Escena):
    
    def iniciar(self):
        self.fondo= pilas.fondos.Cesped()
        opciones = pilas.actores.Menu([("COMENZAR",self.juego),("Como jugar",self.instruc),("Salir",self.salir_juego)])
        opciones.x = 125
        bart = pilas.actores.Actor()
        bart.imagen = "bart.png"
        bart.espejado = True
        bart.escala = 0.78
        bart.definir_posicion(-115,-35)
        bart.x = [400,-115]
        dialogo = pilas.actores.Dialogo()
        dialogo.decir(bart,"Hagan click en la respuesta que crean correcta")
        dialogo.decir(bart,"Que lo DISFRUTEN!")
        titulo = pilasengine.actores.Texto(pilas,"Bart pregunta")
        titulo.color = pilas.colores.rojo
        titulo.x=[-400,115]
        titulo.y = 200

    def instruc(self):
        pilas.escenas.ComoJugar()
        
    def juego(self):
        pilas.escenas.EscenaJuego()
                 
    def salir_juego(self):
        pilas.terminar()

class ComoJugar(pilasengine.escenas.Escena):
    
    def iniciar(self):

        fondo = pilas.fondos.Cesped()
        texto = pilas.actores.Texto("Como jugar!")
        texto.y=200
        texto2= pilas.actores.Texto("Hola amigos! Yo soy Bart. En este")
        texto2.y=150
        texto3 = pilas.actores.Texto("juego voy a evaluar sus")
        texto3.y=120
        texto4= pilas.actores.Texto("conocimientos, a traves de unas")
        texto4.y = 90
        texto5 = pilas.actores.Texto("preguntas. Para ello, ustedes")
        texto5.y=60
        texto6 = pilas.actores.Texto("tendran que responderlas, cada")
        texto6.y = 30
        texto7 = pilas.actores.Texto("respuesta CORRECTA vale 1 punto")
        texto7.y = 0
        texto8 =pilas.actores.Texto("y cada respuesta INCORRECTA")
        texto8.y = -30
        texto9 = pilas.actores.Texto("resta 1 punto. ")
        texto9.y = -60
        mensaje = pilas.actores.Texto("BUENA SUERTE!!!")
        mensaje.y= -140
        mensaje.color = pilas.colores.rojo
        boton = pilas.interfaz.Boton("Comenzar")
        boton.x=200
        boton.y = -175
        boton.conectar(self.Arrancajuego)
        
    def Arrancajuego(self):
        pilas.escenas.EscenaJuego()

class EscenaJuego(pilasengine.escenas.Escena):
    
    def iniciar(self):
        self.fondo_juego = pilas.fondos.Tarde()
        nombre= raw_input("Ingrese nombre:")
        puncorrectos = pilas.actores.Texto("Correctas:")
        puncorrectos.x = -225
        puncorrectos.y = 200
        puncorrectos.color = pilas.colores.negro
        punt = pilas.actores.Puntaje(color="rojo")
        punt = 0
        punt.x= -149
        punt.y = 200
        incorrectos = pilas.actores.Texto("Incorrectas:")
        incorrectos.x = 158
        incorrectos.y = 200
        cont = pilas.actores.Puntaje(color="rojo")
        cont = 0
        cont.x = 238
        cont.y = 200
        incorrectos.color = pilas.colores.negro
        boton = pilas.interfaz.Boton("Volver al menu")
        boton.x = 195
        boton.y = -207
        boton.conectar(self.volver)

        pilas.tareas.agregar(1,self.pregunta)
       

    def pregunta(self):
        
        preguntas=[
                            ("Quien es el Libertador de la patria?","Belgrano","Moreno","San Martin",3),
                            ("Como se llama el proceso que realizan las plantas para alimentarse?","la fotosintesis","la sinapsis","la meiosis",1),
                            ("Que paso en mayo de 1810?","la indepencia","la revolucion de mayo","la revolucion francesa",2),
                            ("Cuando asumio la presidencia por primera vez J.D.Peron?","1946","1954","1990",1),
                            ("Como se llama el vecino de los simpsons?","Apu","Flanders","Selma",2),
                            ("Como se llama el creador de Apple?","Steve Jobs", "Steve Harrington", "Steve Harvey",1),
                            ("Como se llama la figura geometrica de 4 lados iguales?","rectangulo","cuadrado","circulo",2),
                            ("Como se llama el amigo de Bart?","Nelson","Milhouse","Ralph",3),
                            ("Como se apoda la seleccion de futbol de Holanda?","la naranja mecanica", "los chicos naranjas", "la naranja magica",1),
                            ("Como se llama la red social del pajarito?","Twitter","Facebook","Linkedin",1),
                            ("Quien es el actual presidente de Argentina?","Mauricio Macri","Arturo Frondizi","Cristina Fernandez",1),
                            ("Cual es el cuarto planeta de nuestro sistema solar?","Marte","Mercurio","Jupiter",1),
                            ("Como se llama la galaxia de nuestro sistema solar?","Via lactea","Andromeda","Barnard",1),
                            ("Como se llama el actor que interpreta a Mike en stranger things?", "Milie Bobby Brown","Finn Wolfhard","Logan Lerman",2),
                            ("Cuando se fundo Facebook?", "2005", "2003", "2004", 3),
                            ("Como se llama el barrio donde viven los simpsons?", "Chicago", "Springfield", "Hollywood", 2),
                            ("Cual de las siguientes opciones NO corresponde a una parte del oido humano?","martillo","bazo","yunque",2),
                            ("Como se llama el fundador de Windows?", "Steve Hawking", "Bill Gates", "Steve Jobs", 2),
                            ("Como se llama la aplicacion que reproduce videos?","YouTube","Snapchat","Shazam",1),
                            ("Cual es la capital de Buenos Aires?","Capital Federal","La Plata","Cordoba", 2),
                            ("Donde esta ubicada la primer universidad de nuestro pais?","Cordoba","San Luis","Tierra del Fuego", 1),
                            ("Cual de las siguientes opciones NO corresponde a un invento argentino?","la birome","el colectivo","la computadora",3),
                            ("Como se llama la calle mas larga de nuestro pais?","Av. Rivadavia","Av. Belgrano", "Av. Callao", 1),
                            ("Que planeta de nuestro sistema solar tiene 7 lunas?","Pluton","La Tierra","Saturno",3),
                            ("Cual de las siguientes opciones NO es una operacion aritmetica de  la matematica?","suma","derivada","potencia",1),
                            ("Cual de las siguientes opciones NO corresponde con un reino de la naturaleza?","mitosis","animal","celula",2),
                            ("Cual de las siguientes opciones NO corresponde a las partes de una planta?","tallo","aire","suelo",1),
                            ("Que paso primero?", "la llegada de Colon a America", "Rivadavia presidente","las invasiones inglesas", 1),
                            ("Quien escribio el cuento del patito feo?", "Maria Elena Walsh","Andersen", "Peceti",2),
                            ("Despejar x: 4x-30=20", "x=2","x=20","x=30",2),
                            ("La propiedad distributiva en matematica es aplicable a:","suma","multiplicacion","resta",2),
                            ("El organo principal del sistema circulatorio es:","pancreas","corazon","pulmones",2),
                            ("Como se dice ARBOL en ingles?","car","tree","house",2),
                            ("Como se denomina a la oracion que NO tiene verbo?","oracion bimembre","oracion unimembre","sujeto tacito",2),
                            ("Despejar x: 10x+20=40","x=2","x=12","x=22",1),
                            ("Que se conmemora el 17 de agosto?", "la muerte de Belgrano","la muerte de Roca","la muerte de San Martin",3),
                            ("Quien lidero la batalla de San Lorenzo?","Roca","Rosas","San Martin",3),
                            ("Que organo se encarga de la respiracion?","los pulmones","el cerebro","el intestino",1),
                            ("El simbolo quimico del hierro es:","Fe","Hie","Me",1),
                            ("El simbolo quimico del hidrogeno es:","H","Hidro","Ai", 1),
                            ("Segun la inercia,todo cuerpo tiende a mantener su_____anterior","estado","volumen","velocidad",1),
                            ("Quien escribio cuentos de amor,locura y muerte?", "Vargas Llosa","Horacio Quiroga","Garcia Marquez",2),
                            ("Quien dijo:yo solo se que no se nada?","Aristoteles","Socrates","Platon",2),
                            ("Despejar  la x: 1000x+30=1030","x=11","x=1","x=10",2),
                            ("Como se llama el autor del teorema de los triangulos rectangulos?","Pitagoras","Tales de Mileto","Aristoteles",1),
                            ("Como se llama el arbol que da naranjas?","olmo","manzano","naranjo",3),
                            ("Cual es la capital de Entre Rios?","Entre Rios", "Parana","Rosario",2),
                            ("Cual es la capital de Paris?","Bourdeaux","Paris","Normandia",2),
                            ("Cual es el cuarto color del arcoiris?","rojo","verde","azul",2),
                            ("Cual es la capital de España?","Madrid","Barcelona","Sevilla",1),
                            ("Cual es la capital de Alemania?","Berlin","Munich","Hamburgo",1),
                            ("Cual es la capital de Japon?","Osaka","Tokio","Kioto",2),
                            ("Para la multiplicacion, el orden de los factores altera el producto?","Si","No","A veces",2),
                            ("Donde queda la capilla sixtina?","Vaticano","Plaza Mayor","Louvre",1),
                            ("Quien pinto a la mona Lisa?","Miguel Angel","Da Vinci", "Dali",2),
                            ("Como se llama la ciencia que estudia a los fosiles?","Paleontologia","Biologia","Arqueologia",1),
                            ("Quien interpreto-all you need is love?","The doors","The beatles","The Rolling Stone",2),
                            ("Como se llamaba el dios sol de Egipcio?","Inti","Ra","Helios",2),
                            ("Cuando gano por primera vez el mundial de futbol la seleccion argentina?","1930","2010","1978",3),
                            ("Cual de las siguientes opciones NO corresponde a un numero primo?", "2","8","7",2),
                            ("Como es el pasado del verbo -to be- en ingles?","was/were","is","put",1),
                            ("Cual de las siguentes opciones NO corresponde a una parte de la celula:","nucleo","estribo","ADN",2),
                            ("A que se denomina el septimo arte?", "el teatro", "el cine", "la pintura",2),
                            ("Cual es la funcion del sistema nervioso?","transmitir y procesar informacion", "conectar organos","digerir alimentos",1),
                            ("Cual es el organo central del sistema circulatorio?","las venas","el corazon","las arterias",2),
                            ("Como se forma un oxido basico?","metal+oxigeno","nometal+oxido","sal+agua",1),
                            ("Cuando se fundo la gazeta de Buenos Aires?","1815","1785","1796",1),
                            ("Como se llama el equivalente a un gol en el rugby?","gol","tanto","try",3),
                            ("Como se llama la ciencia que estudia a los recien nacidos?","pediatria","neonatologia","obstetra",2),
                            ("Como se llamaba el hermano de Napoleon?","Ricardo Bonaparte","Felipe Bonaparte","Jose Bonaparte",3),
                            ("Como se llamaba el primer papa de la iglesia catolica?","Pedro","Juan Pablo","Francisco",1),
                            ("Cual es la capital de Neuquen?","Bariloche","Neuquen","Los lagos",2),
                            ("Cual de las siguientes opciones NO corresponden a los paises limitrofres de Argentina?","Chile","Brasil","Ecuador",3),
                            ("Cual de las siguientes opciones NO es una verdura?","lechuga","tomate","zanahoria",2),
                            ("Con que unidad se expresa el area de una figura?","cm^2","cm^3","cm",1),
                            ("Como se denomina la ciencia que estudia las conductas humanas?","sociologia","antropologia","psicologia",2),
                            ("Cual de las siguientes opciones NO corresponde a una pieza de la pc?","placa madre","teclado","lampara",3),
                            ("Quien descubrio America?","Colon","Magallanes","Vespucio",1),
                            ("Cual es la montana mas alta del mundo?","K2","Everest","Makalu",2),
                            ("Segun los griegos, quien era el dios de la guerra?","Ares","Marte","Thor",1),
                            ("Como se llama la Cordillera que separa Argentina y Chile?","De los Andes","Las rocosas","Apalache",1),
                            ("Que se celebra el 10 de noviembre?","El nacimiento de Sarmiento","El nacimiento de Jose Hernandez","El nacimiento de Rosas",2),
                            ("Despejar la x: 70x+200=900","x=11","x=1","x=10",3),
                            ("Quien es el autor de la teoria de la relatividad?","Albert Einstein","Isacc Newton","Stephen Hawking",1),
                            ("Quien escribio cronica de una muerte anunciada?","Borges","Garcia Marquez","Cortazar",2),
                            ("Cual es el colmo de los colmos?","Vivir en los olmos","Vivir en el congo","Vivir en Estocolmo",3),
                            ("Como se llama el planeta de Superman?","Daxam","Kripton","Jupiter",2),
                            ("Como se llama el elemento quimico mas abundante en la Tierra?","Oxigeno","Carbono","Hidrogeno",3),
                            ("Como se llama la clase de palabras que describen a un sustantivo?","Adjetivo","Verbo","Adverbio",1),
                            ("Que sanciono en la ley 13.010 de 1947?","El voto femenino","La jornada laboral de 8 horas", "Vacaciones pagas",1),
                            ("Cuando se conformo la primer Constitucion Nacional argentina?","1825","1819","1910",2),
                            ("Despejar la x: 3x-10=80","x=9","x=36","x=30",3),
                            ("Cual es la capital de Cordoba?","Carlos Paz","Cordoba","Rio Cuarto",2),
                            ("A que pais pertenece la Isla de Pascua?","Brasil","Chile","Australia",2),
                            ("Como se llama el diario fundado por la familia Mitre?","Clarin","La Nacion","El Popular",2),
                            ("Como se llama el tipo de arboles que NO pierden sus hojas en invierno?","Perennes","Caducifolios","Ficus",1),
                            ("Cual de las siguientes opciones NO corresponde a una vocal?","A","J","E",2),
                            ("Donde se firmo la independencia de la Argentina?","En el Congreso","En la Casa de Tucuman", "En la Casa Rosada",2),
                            ("Resuelva: 1050(30-10+7)+7=","30000","28357","38587",2),
                            ("Como se llama el procesador de texto de windows?","Word","Excel","Power Point",1)
                                ]
        
        elegir = random.choice(preguntas)        
        question = pilas.actores.Texto(elegir[0])
        question.escala = 0.57
        question.y = 130
        opc1 = pilas.interfaz.Boton(elegir[1])
        opc1.x = 0
        opc1.y= 30
        opc1.escala = 1.5
        opc2 = pilas.interfaz.Boton(elegir[2])
        opc2.x = 0
        opc2.y = -30
        opc2.escala = 1.5
        opc3 = pilas.interfaz.Boton(elegir[3])
        opc3.x = 0
        opc3.y = -90
        opc3.escala = 1.5
        solucion = elegir[-1]
        respuesta= ""
        if solucion == 1:
            respuesta = opc1
        elif solucion == 2:
            respuesta = opc2
        elif solucion == 3:
            respuesta = opc3

    

        
       

    def ganaste(self):
       
        self.fongan = pilas.fondos.Cesped()
        self.cartelfelicidades=pilas.actores.Texto("Felicidades "+self.nombre+" has ganado")
        self.cartelfelicidades.y=220
        self.cartelfelicidades=pilas.actores.Texto("Muy BIEN!!")
	self.cartelfelicidades.y=150
	self.boton = pilas.interfaz.Boton("Volver al menu")
        self.boton.x = 195
        self.boton.y = -207
        self.boton.conectar(self.volver) #poner los carteles con los puntos

    def perdiste(self):
        self.cartelfelicidades=pilas.actores.Texto(self.nombre+ " PERDISTE :(")
	self.cartelfelicidades.y=220
	self.cartelfelicidades=pilas.actores.Texto("A estudiar mas para la proxima")
	self.cartelfelicidades.y=150
	self.boton = pilas.interfaz.Boton("Volver al menu")
        self.boton.x = 195
        self.boton.y = -207
        self.boton.conectar(self.volver) #Poner los carteles con los puntos
        
    def volver(self):
        pilas.escenas.Menu()


pilas.escenas.vincular(Menu)
pilas.escenas.vincular(ComoJugar)
pilas.escenas.vincular(EscenaJuego)

pilas.escenas.Menu()

pilas.ejecutar()

Buenas, @Laureano !

A primera vista, y aún sin testar el juego, veo un par de problemas…

Lo primero varios fallos de identación en las def “ganaste” y “perdiste”.

Lo segundo, te falta poner

pilas=pilasengine.iniciar()

justo después de los import. y antes de la class Menu.

Voy a ver si puedo dedicar un tiempo a testarlo e intentaré decirte algo.

Un saludo ! :wink:

Bueno, he testado tu juego… Lo más evidente es que falta la conexión de los botones con una def. Aquí te dejo un ejemplo basado en tu código:

 #respuesta= ""
        
        if solucion == 1:
            opc1.conectar(self.sumar_puntos_buenos)
        else:
			opc1.conectar(self.sumar_puntos_malos)        
           
        if solucion == 2:
            opc2.conectar(self.sumar_puntos_buenos)
        else:
			opc2.conectar(self.sumar_puntos_malos)
            
        if solucion == 3:
            opc3.conectar(self.sumar_puntos_buenos)
        else:
			opc3.conectar(self.sumar_puntos_malos)

    def sumar_puntos_buenos(self):
		self.punt.aumentar()
		if self.punt.valor == 5:
			self.ganaste()
		else:
			self.pregunta()
		
		
		
    def sumar_puntos_malos(self):
		self.cont.aumentar()
		if self.cont.valor == 3:
			self.perdiste()
    
    def volver(self):
        pilas.escenas.Menu()

A parte, te faltan poner unos cuantos self, en punt y cont, porque si no no se les puede hacer referencia más tarde al aumentar los puntos.

Para iniciar punt y cont con un valor = 0 lo ideal es:
self.punt.valor_inicial = 0

También es recomendable que coloques una u delante de cada pregunta o respuesta que contenga símbolos como la Ñ o con tildes. Me dio error en la pregunta sobre cual era la capital de espaÑa, ya que no reconocía la ñ.

Y también te faltaría programar que al iniciar una nueva pregunta se borre la anterior, por que ahora mismo se superponen cada vez que aciertas y se genera una nueva pregunta.

Un saludo! :wink:

Gracias @jordinur me salvaste! :wink: Tu ayuda me resulto muy util y crucial para “destrabarme” y poder continuar el juego. Muchas gracias!!

PD: La plataforma de pilas esta GENIAL, y es muy útil para quienes estamos empezando en el fantástico mundo de la programación! jaja