Anuncios Google

Duda LuaDev

Estoy programando un juego para PSP y ahora mismo no tengo mi PSP a mano para probar el Code.

¿Esta bien hecho esto?

if controls.press("cross") then
if os.osk("Escribe la letra de la respuesta correcta","",100,10,0) =="a" then
                                os.message("¡Has acertado! Pasemos al siguiente nivel")
		dofile("pregunta2.lua") 
                 else os.message("Has fallado. Con lo facil que estaba")

Vamos que si pones la letra a pasara al suguiente nivel y si pones otra que no sea te saltara un mensaje diciendo que has fallado.

¿Esta bien hecho?




Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Si claro, funciona como lo

Si claro, funciona como lo has puesto (sólo no se te olvide cerrar las condiciones xD)

Imagen de markef

Esta

Esta bastante mal, eso no funcará ni para atrás :P

if pregunta == "1" and respuesta == "a" then os.message("¡Has acertado! Pasemos al siguiente nivel") marcador = marcador + 1 dofile("pregunta2.lua")  end;
 
if pregunta == "1" and respuesta == "b" then os.message("Has fallado. Con lo facil que estaba") dofile("pregunta2.lua")  end;
 
if pregunta == "1" and respuesta == "c" then os.message("Has fallado. Con lo facil que estaba") dofile("pregunta2.lua")  end;


Todo esto incluido con variables del os.osk(). Te lo he hecho a groso modo para verlo más fácil y de paso poner que sume 1 al marcador por poner algo, ahí pones lo que quieras.

Un saludo ;) 

Edito: Por arriba debería quedar algo así... 

if controls.press("cross") then os.osk("Escribe la letra de la respuesta correcta","",100,10,0) end;


Dicen que soy programador... Eso dicen.

Imagen de AitorDB

By Aitor

Entonces estaría también bien lo que yo escito abajo ¿no?

 

PD: Ya se que hay que cerrar las condicionals, pero eso en teoría lo hace él.


Sígueme en Twitter: @Aitor_db

Imagen de markef

Pruebalo

Pruebalo en un script y nos cuentas jajaja Aunque el code que escribí es sencillo y se puede abreviar más, en vez de 3 lineas podria ser 1, teniendo en cuenta la condición de que si la pregunta 1 == "a" muestre os.message() de acierto y una negación que muestre el os.message() de fallado si es diferente de "a".

Un saludo ;) 


Dicen que soy programador... Eso dicen.

Imagen de AitorDB

By Aitor

Bueno en realidad no necesitarias usar la variable pregunta, ya que el hace cada pregunta en un script diferente (se podría ahorrar todo esto usando tu forma o incluso function, al menos eso pienso).


Sígueme en Twitter: @Aitor_db

Imagen de markef

mmmm

Si haces dofile en un script donde almacenas todas las preguntas no habrá problema, pienso que es una forma fácil y sencilla. Por una parte el script principal, por otra el script de preguntas (en el cual se hace el dofile) y por último todos los scripts de cada pregunta específica. Hay mil maneras de combinar el código y de estructurar todo, es la grácia de cada coder :P

Un saludo. 


Dicen que soy programador... Eso dicen.

Imagen de AitorDB

By Aitor

Deberias pornelo asi:

 

if controls.press("cross") then
 
       variable1 = os.osk("Escribe la letra de la respuesta correcta","",100,10,0)
 
       if variable1 == "a" then                
 
                os.message("¡Has acertado! Pasemos al siguiente nivel")
		dofile("pregunta2.lua") 
                else os.message("Has fallado. Con lo facil que estaba")

 

No se si de la otra forma está bien, pero yo lo he usado siempre así.


Sígueme en Twitter: @Aitor_db

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.