Menu = Image.load("imagenes/Menuimage.png")
Azul = Color.new (0,0,31)
Negro = Color.new(0,0,0)
Verde = Colo.new(0,255,0)
Menu = {}
ComenzarJuego = "Comenzar el juego"
Salir = "Salir"
Instrucciones = "Instrucciones"
Vida = {}
Vida.enemigo = 100
Vida.enemigo2 = 200
Vida.enemigo = 300
Vida.jefefinal = 600
Vida.jugador = 900
if ComenzarJuego == false then
Sel = 1
end
function mov()
if Keys.newPress.Down then
sel = sel + 1
elseif Keys.newPress.Up then
sel = sel - 1
end
for i =1, #Menu do
if sel ==i then
screen.print(SCREEN_DOWN,10,(10*i) +5,Menu[i],Azul)
else
screen.print(SCREEN_UP,10,(10*i) +5,Menu[i],Azul)
end
end
if Instrucciones and Keys.held.A== true then
while true do
screen.print(SCREEN_UP,50,60,"En este juego hay que pulsar algún botón para que se le quite vida al enemigo")
screen.print(SCREEN_DOWN,50,60,"Cuidado tu enemigo también te quita vida")
render()
end
end
end
if Salir and Keys.held.A == true
then
Este código es de Micro Lua DS.
Y de paso díganme el código en micro lua ds para salir del programa que estés creando.
Código completo
Aquí está:
--Definiendo variables--
Menu = Image.load("imagenes/Menuimage.png",VRAM)
Azul = Color.new (0,0,31)
Negro = Color.new(0,0,0)
Menu = {"Jugar","Instrucciones","Salir"}
Vida = {}
Vida.enemigo = 100
Vida.enemigo2 = 200
Vida.enemigo3 = 300
Vida.jefefinal = 600
Vida.jugador = 900
--Funciones--
function Asalto ()
Valor = 100
if (Asalto and Keys.held.A) then
Vida.enemigo = 100 - 100
Vida.enemigo2 = 200 - 100
Vida.enemigo3 = 300 - 100
Vida.jefefinal = 600 - 100
screen.print(SCREEN_DOWN,120,180,"Has usado Puño feroz",Azul)
end
function Patada ()
Valor = 10
if (Patada and Keys.held.B) then
Vida.enemigo = 100 - 10
Vida.enemigo2 = 200 - 10
Vida.enemigo3 = 300 - 10
Vida.jefefinal = 600 - 10
screen.print(SCREEN_DOWN,50,60,"Has usado Patada llameante",Azul)
end
function texto1()
screen.print(SCREEN_DOWN,120,180,"Mantén pulsado A para usar patada llameante",Azul)
end
function texto2()
screen.print(SCREEN_DOWN,120,180,"Mantén pulsado B para usar patada llameante",Azul)
end
--Bucles--
while true do
if ComenzarJuego == false then
Sel = 1
end
function mov()
if Keys.newPress.Down then
Sel = Sel + 1
elseif Keys.newPress.Up then
Sel = Sel - 1
end
for i =1, #Menu do
if Sel ==i then
screen.print(SCREEN_DOWN,10,(10*i) +5,Menu[i],Azul)
else
screen.print(SCREEN_UP,10,(10*i) +5,Menu[i],Azul)
end
end
if Instrucciones and Keys.held.A == true then
screen.print(SCREEN_UP,50,60,"En este juego hay que pulsar algún botón para que se le quite vida al enemigo",Azul)
screen.print(SCREEN_DOWN,50,60,"Cuidado tu enemigo también te quita vida",Azul)
if (Salir and Keys.held.A) then break end
if (Jugar and Keys.held.A) then
Menu = Image.load("imagenes/Fondo2.png",VRAM)
screen.print(SCREEN_DOWN,50,60,texto1())
screen.print(SCREEN_DOWN,120,180,texto2())
if keys.held.A then
screen.print(SCREEN_UP,50,60,Asalto(),Azul)
end
if keys.held.B then
screen.print(SCREEN_UP,50,60,Patada(),Azul)
end
end
render()
end
end
end
end
end
Pido ayuda de nuevo
Es que sino no voy a poder continuar con el homebrew ya que cuando inicio el homebrew en la NDS con Micro LUa DS sale chargement... y luego vuelve al menú principal.
Como hiciste el bucle o el break?
Si Lua no detecta ningún bucle o hay un break por medio sin ninguna condición, sale al menú de MicroLua.
Salu2!
El break lo puse ...
Lo puse antes de cerrar el bucle pero dentro del while true do.
Por tu código actualizado
Por tu código actualizado, tal y como lo tienes ahora para que podamos ayudarte mejor
Salu2!
Es lo que voy a hacer
Verás voy a subir el script completo porque aquí no puedo ponerlo ya que el code es largo.
Click aquí para descargar el code. el code completo.
Edito: el link no funciona. Subiré el code pronto.
¡Cuidado!
No utilices el servidor de Scenebeta para subir contenido personal :S
Sube el contenido a Mediafire, SkyDrive o parecido en estos casos.
PD: Tienes un botón en el editor de texto justo al final insertar código, te ayudará a organizar mejor el código en los comentarios.
¡Sígueme en Twitter!
Gracias
Lo he subido a Mediafire.
PD:gracias xd.
Ayuda, urgente
Mi homebrew no se inicia en Micro Lua y no hay ningun error en la programaión.
Ahora no hay errores
Pero al ejecutarlo en la NDS con Micro Lua sale chargement... pero luego no aparece el homebrew sino que vuelve al menú.
Gracias
Gracias y a ver si así funciona.
Ahora me da este error
Compilation error on line number :47
Lua: Syntax error during pre-compilation
[string "C:\Documents and Settings\usuario\Escritorio\Proyecto lua origi..."]:47: no loop to break near 'end'
Esto
if (Salir and Keys.held.A) then break end
debe estar dentro del bucle while para poder romperlo, de lo contrario no funcionará.Salu2!
Pero
Pero aún así al compilarlo me marca error y no se porque. Aquí está el código actualizado:
--Mi primer programa en lua--
--Definiendo variables--
Menu = Image.load("imagenes/Menuimage.png",VRAM)
Azul = Color.new (0,0,31)
Negro = Color.new(0,0,0)
Menu = {"Comenzar el juego","Instrucciones","Salir"}
Vida = {}
Vida.enemigo = 100
Vida.enemigo2 = 200
Vida.enemigo = 300
Vida.jefefinal = 600
Vida.jugador = 900
--Bucles--
if ComenzarJuego == false then
Sel = 1
end
function mov()
if Keys.newPress.Down then
sel = sel + 1
elseif Keys.newPress.Up then
sel = sel - 1
end
for i =1, #Menu do
if sel ==i then
screen.print(SCREEN_DOWN,10,(10*i) +5,Menu[i],Azul)
else
screen.print(SCREEN_UP,10,(10*i) +5,Menu[i],Azul)
end
end
if Instrucciones and Keys.held.A== true then
while true do
screen.print(SCREEN_UP,50,60,"En este juego hay que pulsar algún botón para que se le quite vida al enemigo")
screen.print(SCREEN_DOWN,50,60,"Cuidado tu enemigo también te quita vida")
render()
end
end
end
if (Salir and Keys.held.A) then break end
Lua distingue
Mayusculas y minúsculas, por tanto el error está en que la variable sel no existe, la única que existe es Sel con valor 1.
Salu2!
Gracias
Gracias por las respuestas.
Hay unos cuantos
pairs()
.El código para apagar la NDS es os.exit() pero si lo que quieres es cerrar el programa actual, tienes que romper el bucle, sin que haya nada despues de este usando la palabra break, ejemplo:
if Keys.newPress.Start then break end
PD: Cuando uses ifs con and y or acostúmbrate a usar paréntesis, porque no es lo mismo
if Salir and Keys.held.A == true then break end
queif (Salir and Keys.held.A) == true then break end
, y además puedes omitir el true, dejandolo asíif (Salir and Keys.held.A) then break end
.Salu2! y espero que te sirva de ayuda
Color
Ahi se lee claramente Verde = Colo.new(0,255,0) cuando deberia ser Verde = Color.new(0,255,0)