antes que nada les mando un saludo a todos, soy nuevo y es primera consulta esta que hago, asi que espero se pueda entender muchisimo lo que requiero en el pilas, para empezar, estoy trabajando en un proyecto con pilas, y tengo 2 semanas desde que lo empiezo, decidi desarrollar un juego de preguntas, si bien arme el menu y la escena donde se desarrollaran las preguntas con las respuestas al azar, se entiende bastante bien aunque no a fondo, pues tengo un par de consultas para poder desarrollar totalmente mi juego:
1_ el tema de las listas: como he trabajado en mi universidad con python tengo una idea clara sobre listas, solo que quisiera saber como puedo emplearlas en pilas. Busco almacenar una pregunta y 3 posibles respuestas para mi juego, se que es engorroso, pero para mi sera pegar y copiar las preguntas y respuestas en ves de tipear.
2_el tema del if (condicionales): este tema me jode bastante(sin ofender) ya que declaro una interfaz.Boton() y la conecto con una posible respuesta(EJ:“azul”), genero una definicion que me diga que si la respuesta que el boton me da es “azul” sea correcta o en caso contrario (else) de no ser “azul” sea incorrecta, y he aqui un gran problema, por que lo segundo(else) me funca pero lo primero me tira error…
se me hace tarde, simplemente espero respuestas basicas y generales, ojo que consulte algunas cosas del manual, y si en el manual me especifica bien el uso de estos parametros me gustaria saber en que parte del manual estan, bueno, mañana subire otro post con lo que seria la estructura de mi juego para no hacerles un choclo de preguntas sin sentido, nos vemos…
Hola @uchiha_776, hay varias formas de hacer el selector de preguntas. Para mí la forma mas sencilla es creando una escena, y colocando un actor Menu para representar las opciones.
Acá armé un ejemplo de cómo me lo imagino:
Observá que las opciones se pueden seleccionar con el mouse o directamente con el teclado, y cuando se selecciona una opción aparece una leyenda diciendo si es la opción correcta o no.
# coding: utf-8
import pilasengine
pilas = pilasengine.iniciar()
class EscenaDePreguntas(pilasengine.escenas.Escena):
def iniciar(self, titulo, opciones, respuesta_correcta):
self.pilas.fondos.Plano()
self.pilas.actores.Texto(titulo, y=100)
self.opciones = opciones
self.respuesta_correcta = respuesta_correcta
self._crear_menu_de_opciones()
def _crear_menu_de_opciones(self):
opciones = [(texto, self._cuando_responde) for texto in self.opciones]
self.menu = self.pilas.actores.Menu(opciones)
def _cuando_responde(self):
opcion_seleccionada_por_el_usuario = self.opciones[self.menu.opcion_actual]
if opcion_seleccionada_por_el_usuario is self.respuesta_correcta:
self.pilas.avisar("Repuesta correcta!")
else:
self.pilas.avisar("No no, intenta otra vez....")
pilas.escenas.vincular(EscenaDePreguntas)
pilas.escenas.EscenaDePreguntas(
titulo=u"¿En que lenguaje de programación se realizó pilas?",
opciones=["python", "c", "java"],
respuesta_correcta='python'
)
pilas.ejecutar()
Supongo que lo ideal sería que a medida que se responde aparezca una escena nueva, así el usuario solo avanza cuando responde bien, O agregar un sistema de puntajes… en fin, para comenzar te puede servir así.
Consultanos cualquier cosa que no se entienda en el código.