Anuncios Google

Tutorial [Explorador de archivos] [+] [Efectos]

Tutorial como hacer un explorador sin utilizar la función for.

Mas abajo están los diferentes efectos que podemos darle a los textos.

---------_Colores_--------------------
 
blanco=color.new(255,255,255)   ---_así se crea un color , el color varia dependiendo de su valor.
negro=color.new(0,0,0)
verde=color.new(0,200,0)
 
carpeta=files.list("ms0:/")       ------_variable  que contiene una tabla, la tabla contiene una lista de los archivos de la ruta.
archivo=1                              
max=#carpeta       ------------------_para calcular el máximo contenido de la tabla.
cache="ms0:/"    ----------_variable que por el momento contiene la ruta ms0/, la usaremos para regresar.
 
x=10    -----------_variable que contiene el valor 20, modificar para cambiar la posición (X) del texto.
y=130    ---------_variable que contiene el valor 130, modificar para cambiar la posición (y) del texto.
tamano=1   -----_variable que contiene el valor 1, modificar para cambiar el tamaño de texto.
 
 
---------_función para imprimir el texto_-------------
 
function Print(x,y,archivo,tamano,color_carpeta_texto,color_carpeta_sombra,color_archivo_texto,color_archivo_sombra)
   if  archivo>0 and max>0 and archivo<=max then
        if carpeta[archivo].directory==true then    
          screen.print(x,y,files.nopath(carpeta[archivo].name),tamano,color_carpeta_texto,color_carpeta_sombra)
       else
           screen.print(x,y,files.nopath(carpeta[archivo].name),tamano,color_archivo_texto,color_archivo_sombra) 
        end     
    end
end
 
--------------------------------------
 
while true do   -------------_bucle infinito sirve para repetir el código, indispensable para hacer un programa._-----------
    controls.read()   --------_para poder usar los controles.   
 
--------_para mostrar la ruta en la que estamos_.---
 
 if max>0 then   
     screen.print(10,2,files.nofile(carpeta[archivo].name),0.5,blanco,blanco) 
 end  
 
---------_esto es lo que funcionara como un for_.---
 
Print(x,y-100,archivo-5,tamano,verde,blanco,blanco,blanco)
 
Print(x,y-80,archivo-4,tamano,verde,blanco,blanco,blanco)
 
Print(x,y-60,archivo-3,tamano,verde,blanco,blanco,blanco)
 
Print(x,y-40,archivo-2,tamano,verde,blanco,blanco,blanco)    
 
Print(x,y-20,archivo-1,tamano,verde,blanco,blanco,blanco)
 
Print(x,y,archivo,tamano,negro,verde,negro,blanco) 
 
Print(x,y+20,archivo+1,tamano,verde,blanco,blanco,blanco)  
 
Print(x,y+40,archivo+2,tamano,verde,blanco,blanco,blanco) 
 
Print(x,y+60,archivo+3,tamano,verde,blanco,blanco,blanco)   
 
Print(x,y+80,archivo+4,tamano,verde,blanco,blanco,blanco)
 
Print(x,y+100,archivo+5,tamano,verde,blanco,blanco,blanco)
 
------------------------------------------------------
 
---------_para navegar  por las carpetas y archivos_---------
 
 if controls.press("up") and archivo>1 then   ----_sentencia:"si pulsamos el botón up y archivo mayor a uno entonces"
     archivo=archivo-1    --------------------------_archivo menos uno.
end  -------------------------------------------------_fin de la sentencia.
 
if controls.press("down") and archivo<max then
    archivo=archivo+1  
end
 
---------------------------------------------
 
----------par ver imagenes reproducir musica, ect_-----------------
 
if controls.press("cross") and max>0 then  ---------------_sentencia:"si pulsamos el boton equis y max es mayor a cero entonces"
     if files.ext(carpeta[archivo].name)=="png" then   ----_sentencia:"si la extencion del archivo es igual a png entonces"
         imagen=image.load(carpeta[archivo].name)   ----_cargamos la imagen.            
         image.blit(imagen,0,0)    ----------------------------_para que se pueda mostrar en pantalla,la ponemos en la posicion 0 y 0.            
         screen.flip()     ----------------------------------------_para mostrar todo en pantalla.     
         controls.waitforkey()   ---------------------------------_esperamos hasta pulsar un boton para dejar de ver la imagen.    
         imagen=nil   -------------------------------------------_para eliminar la imagen, para que no ocupe memoria.    
         collectgarbage()   --------------------------------------_limpiamos la memoria.          
     end     -----------------------------------------------------_fin de la sentencia:"si la extencion del archivo es igual a png entonces"
-------------------------------------------------------------
     if files.ext(carpeta[archivo].name)=="jpg" then        
          imagen=image.load(carpeta[archivo].name)     
          image.blit(imagen,0,0)            
          screen.flip()                 
          controls.waitforkey()           
          imagen=nil                
          collectgarbage()       
      end            
 
--------------------------------------------
 
      if files.ext(carpeta[archivo].name)=="mp3" then   ---_sentencia:"si la extencion del archivo es igual a mp3 entonces"
         sonido=sound.load(carpeta[archivo].name)    ------_cargamos el sonido.   
         sound.play(sonido)       ------------------------------_reproduce el sonido.
     end            ----------------------------------------------_fin de la sentencia:"si la extencion del archivo es igual a mp3 entonces"
 
---------------------------------------------------------
 
      ----_para entrar a una carpeta_----
 
      if carpeta[archivo].directory then     ----------------------_sentencia:"si el archivo es una carpeta entonces"
           cache=carpeta[archivo].name  -------------------------_guardamos la ruta para regresar.
           carpeta=files.list(carpeta[archivo].name)  -----------_listamos la carpeta en una variable.
           archivo=1       
           max=#carpeta      -------------------------------------_checamos el numero de contenido de la carpeta.
       end   ------------------------------------------------------_fin de la sentencia if carpeta[archivo].directory then.
end   ------------------------------------------------------------_fin de la sentencia if controls.press("cross") and max>0 then.
 
----------------_para regresa_r------------------------------------------
 
if controls.press("triangle") then   -----------------------------_sentencia:"si pulsamos el boton triangulo entonces"
        if max>0 then  -------------------------------------------_si max es mayor a cero entonces.
           carpeta=files.list(files.nofile(files.nofile(carpeta[archivo].name))) ---_regresamos ala carpeta anterior.
        else   ------------------------------------------------------ y si max no es mayor a cero.
           carpeta=files.list(files.nofile(cache))  -----------------_regresamos ala carpeta anterior utilizando la ruta guardada en la variable cache.
        end   ------------------------------------------------------_fin de la sentencia"si max es mayor a cero entonces".
        archivo=1
        max=#carpeta  
end   --------------------------------------------------------------_fin de la sentencia:"si pulsamos el botón triangulo entonces"
 
screen.flip()  -----------------------------------------------------_mostramos todo en pantalla, sino pusiéramos esto no se vería nada.
 
end     -----------------------------------------------------------_fin del bucle while true do
 
 

una ventaja de hacer un explorador de esta forma es que podemos editarlo a nuestro antojo, me refiero a que podemos darle distintos efectos a los textos, algo que me imagino seria mas difícil lograr con la función for.

  • Efecto los textos de arriba y de abajo están mas lejos que los del medio.

este efecto se logra con solo restarle 0.1 para cada Print, si quieren un efecto mas exagerado pueden restarle un poco mas por ejemplo 0.2 para cada Print.

Print(x,y-100,archivo-5,tamano-0.5,verde,blanco,blanco,blanco)
 
Print(x,y-80,archivo-4,tamano-0.4,verde,blanco,blanco,blanco)
 
Print(x,y-60,archivo-3,tamano-0.3,verde,blanco,blanco,blanco)
 
Print(x,y-40,archivo-2,tamano-0.2,verde,blanco,blanco,blanco)    
 
Print(x,y-20,archivo-1,tamano-0.1,verde,blanco,blanco,blanco)
 
Print(x,y,archivo,tamano,negro,verde,negro,blanco) 
 
Print(x,y+20,archivo+1,tamano-0.1,verde,blanco,blanco,blanco)  
 
Print(x,y+40,archivo+2,tamano-0.2,verde,blanco,blanco,blanco) 
 
Print(x,y+60,archivo+3,tamano-0.3,verde,blancoblanco,blanco)   
 
Print(x,y+80,archivo+4,tamano-0.4,verde,blanco,blanco,blanco)
 
Print(x,y+100,archivo+5,tamano-0.5,verde,blanco,blanco,blanco)

  • Efecto cinta.

este efecto se logra modificando la posición del texto y el tamaño y un poco los colores.

--_nuevo color_--
 
gris=color.new(200,200,200)
 
 
 
-------------_esta es la cola de abajo_------------------------------------------
 
Print(x-20,y+10,archivo+5,tamano-0.5,verde,gris,gris,gris)
 
Print(x-15,y+20,archivo+4,tamano-0.4,verde,gris,gris,gris)
 
Print(x-10,y+30,archivo+3,tamano-0.3,verde,gris,gris,gris)   
 
---------------------_esta es la cola de arriba_------------------------------------------
 
Print(x-20,y-10,archivo-5,tamano-0.5,verde,gris,gris,gris) 
 
Print(x-15,y-20,archivo-4,tamano-0.4,verde,gris,gris,gris)
 
Print(x-10,y-30,archivo-3,tamano-0.3,verde,gris,gris,gris)
 
--------------------------_esto es el centro_-----------------------------------
 
Print(x,y-40,archivo-2,tamano-0.2,verde,blanco,blanco,blanco)    
 
Print(x+10,y-20,archivo-1,tamano-0.1,verde,blanco,blanco,blanco)
 
Print(x+15,y,archivo,tamano,negro,verde,negro,blanco) 
 
Print(x+10,y+20,archivo+1,tamano-0.1,verde,blanco,blanco,blanco) 
 
Print(x,y+40,archivo+2,tamano-0.2,verde,blanco,blanco,blanco) 

  • Efecto el texto seleccionado brilla.

este efecto se logra jugando con una variable que se utiliza en el color..

--_definimos las variables.
 
b_color=true
e_color=100
 
 
---_este codigo va dentro de while true do.
 
 
if e_color<50 then
   b_color=true
end
 
if e_color>200 then
  b_color=false
end
 
if b_color==true then
  e_color=e_color+2
end
 
if b_color==false then
  e_color=e_color-2
end
 
 
---_ahora creamos un color.new(e_color,e_color,e_color), en el print que corresponde a nuestra posicion.
--_en este. 
 
Print(x,y,archivo,tamano,negro,color.new(e_color,50+e_color,e_color),negro,color.new(e_color,e_color,e_color)) 
 
 
--_si quieren que sea de otro color ponemos un valor junto al e_color.
--_ejemplo.
 
--_rojo
 
color.new(50+e_color,e_color,e_color)
 
--_verde
 
color.new(e_color,50+e_color,e_color)
 
--_azul
 
color.new(e_color,e_color,50+e_color)

  • para avanzar manteniendo pulsado el botón.

cuenta_up=0
cuenta_down=0
 
 
 
 
---------------_UP_-------------------
 
if controls.up() and archivo>1 then   
     cuenta_up=cuenta_up+1
     if cuenta_up>30 then
         archivo=archivo-1
         cuenta_up=25
     end
else
     cuenta_up=0   
end  
 
 
-------------_DOWN_-------------------
 
 
if controls.down() and archivo<max then
     cuenta_down=cuenta_down+1
     if cuenta_down>30 then
         archivo=archivo+1
         cuenta_down=25
     end
     else
         cuenta_down=0
end

 

 

 


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.
Imagen de Mizzael_Uchiha

no entiendo

se ve muy complicado Llora

Imagen de PerezRE

PerezRE

Eh! jepte, de nuevo yo XD

Tengo una duda, quiero imprimir *todos* los archivos y carpeta que hay dentro de una ruta. 

El código que tengo sólo me imprime un archivo o carpeta.

Y si me pueden explicar brevemente un poco sobre el bucle for, por favor. Gracias de antemano.

Amarillo = color.new(242,242,6)
Negro = color.new(0,0,0)
 
X = 100
Y = 50
Archivo = 1
Carpeta = files.list("ms0:/")
max = #Carpeta
cache = tostring("ms0:/")
 
 
function Explorar()
 
		if controls.press("up") and Archivo > 1 then Archivo=Archivo-1 end
		if controls.press("down") and Archivo < max then Archivo=Archivo+1 end
 
		if i < max then i=i+Archivo if i >= max then i=Archivo end end
 
	for i = Archivo, max do
		if Carpeta[Archivo].directory == true then screen.print(Fuente,X+20,Y+30,files.nopath(Carpeta[Archivo].name),0.5,Amarillo,0x0)
			else 
		screen.print(Fuente,X+20,Y+30,files.nopath(Carpeta[Archivo].name),0.5,Negro,0x0)
			end
	end
 
end
 

Saludos.


--[NO EXISTEN LOS LIMITES =D]--

Imagen de Jepte

creo que lo unico que te

creo que lo unico que te falta es meter la ( Y ) dentro del for y sumar :  y=y+separacion etre texto y texto

ejemplo.

for i=1,max do
    if carpeta==true then
              screen.print()
     else
              screen.print()
     end
 
Y=Y+20
 
end

 

te explico sobre el for.

 

el for trabaja de esta forma, recorre el código asta alcanzar el limite puesto el recorrido puede ser de 1 en 1 o de 2 en 2 ect, dependiendo del valor que se le de al segundo argumento que es opcional, ejemplo: for i=1,2,max do , este for recorrerá el valor de 2 en 2, creo que un valor negativo hace una cuenta regresiva -1, pero la verdadera magia del for según mi experiencia es que al recorrer el código si hay cosas que se muestran en pantalla las mostrara todas, a pesar de que ya las recorre y que en teoría solo se debería de mostrar la ultima imagen o texto,  es como si se guardaran en el bufer o lo que sea y al llegar al screen.flip() ojo que este screen.flip() no esta dentro del for, muestra todo lo que recorrió, (por que el for primero recorre lo que tiene que recorrer y después sale y continua el código que esta fuera del bucle, igual que el while), cosa que con un while nunca optendriamos ese resultado cuando mucho solo veríamos el ultimo recorrido.

Imagen de Chimecho

for con un while

Me llamó la atención esto: "cosa que con un while nunca obtendríamos", así que decidí llevarte la contraria jajaj

En realidad, sí se puede, sólo es de pensarlo de una forma distinta:

---- Bucle for:
 
inicio = 1;
fin = 10;
paso = 2;
 
for indice = inicio, fin, paso do
    print(indice);
end
 
 
---- Bucle while:
 
indice = 1; -- indice toma el valor del inicio
fin = 10;
paso = 2;
 
if ((indice <= fin) and (paso > 0)) or ((indice >= fin) and (paso < 0)) then
    while math.abs(indice) <= math.abs(fin) do
        print(indice);
        indice = indice + paso;
    end
end

La condición del if lo que hace es verificar si el límite es alcanzable, en caso de no serlo, no ejecutará nada.

La condición del while es una expresión booleana que hará que se detenga justo antes de pasarse del límite (o cuando esté en el mismo). El math.abs es por si el límite y/o el paso son negativos.

 

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de PerezRE

PerezRE

Cuánto argumentos lleva el for?

A lo que sé lua es "sacado" de C, no?, entonces se puede decir que el for en C, tiene tres argumentos; el valor inicial, la condición, y el incremento en que va

for (i=0, i<5,i++) {

 

Pero en lua, son los mismo argumentos?

 

Con respecto al código, no me imprime todo lo que hay dentro de la ruta. Si imprime las demas, en la misma línea, siendo reemplazadas las letras (Nombre de la carpeta/Archivo) por el otro nombre.


--[NO EXISTEN LOS LIMITES =D]--

Sí, son los mismos

La equivalencia es esta:

C:

for(i=0;i<25;i+=5){
 
 
}

 

Lua:

for i=0,25,5 do
 
end

Si vas a leer tablas con el bucle for, acuerdate que en Lua los índices empiezan en 1, no 0.

Salu2!

Imagen de PerezRE

PerezRE

El código funciona perfectamente, pero tengo un problema. Y es que me imprime lo que hay dentro de la ruta pero en la misma línea (Se ve amontonado), ¿Cómo podría hacer que se imprima en una línea distinta o hacerlo como una tabulación?. Trate con arrays pero siengo honesto, trate de hacerlo y no pude.

Código:

Carpeta = files.list("mso:/")
Archivo = 1
max = #Carpeta
 
 
 
function Explorar()
 
if Archivo > 1 and controls.press("up") then Archivo=Archivo-1 end
if Archivo < max and controls.press("down") then archivo=archivo+1 end
 
 
 for i=Archivo, max, Archivo do
 
    if Carpeta[Archivo].directory == true  then    screen.print(Fuente,X,Y,files.nopath(Carpeta[i].name),0.5,color.new(255,255,255),0x0)
           else
       screen.print(Fuente,X,Y,files.nopath(Carpeta[i].name),0.5,color.new(0,0,0),0x0)
    end
 
 end
 
end


--[NO EXISTEN LOS LIMITES =D]--

Imagen de gdljjrod

No estas

No estas sumando o aumentando la coord Y.

for i=Archivo, max, Archivo do
 
    if Carpeta[Archivo].directory == true  then    screen.print(Fuente,X,Y,files.nopath(Carpeta[i].name),0.5,color.new(255,255,255),0x0)
           else
       screen.print(Fuente,X,Y,files.nopath(Carpeta[i].name),0.5,color.new(0,0,0),0x0)
    end
 Y = Y + 15 --Depende del tamaño de la fuente que estes usando puedes aumentar o disminuir este valor.
 end


 

Imagen de PerezRE

PerezRE

De hecho si, se suma a la coordenada. Seguramente estoy haciendo algo mal.

Se ve como el efecto matrix (Que "cae" texto) pero más rápido. Si disminuyo el valor de Archivo solo se ve una carpeta y cae mas lento. (Aunque se ve genial XD)

---|Explorador|---
 
Amarillo = color.new(242,242,6)
Negro = color.new(0,0,0)
 
Ventana = image.load("IMG/Ventana.png")
 
 
X = 100
Y = 50
Y1= 50
Archivo = 1
Carpeta = files.list("ms0:/")
max = #Carpeta
cache = tostring("ms0:/")
 
 
function Explorar()
 
Ventana:blit(X,Y)
 
		if controls.cross() and on.over(X,Y,90,20) and controls.analogx() > 40 and X < 480 then X=X+3 end
		if controls.cross() and on.over(X,Y,90,20) and controls.analogx() < -40 and X > 0 then X=X-3 end
		if controls.cross() and on.over(X,Y,90,20) and controls.analogy() > 40 and Y < 250 then Y=Y+3 end
		if controls.cross() and on.over(X,Y,90,20) and controls.analogy() < -40 and Y > 21 then Y=Y-3 end
 
		if controls.press("up") and Archivo > 1 then Archivo=Archivo-1 end
		if controls.press("down") and Archivo < max then Archivo=Archivo+1 end
 
	for i = Archivo, max, Archivo do
	if Carpeta[i].directory == true then screen.print(Fuente,X+20,Y1,files.nopath(Carpeta[i].name),0.5,Amarillo,0x0)
			else
		screen.print(Fuente,X+20,Y1,files.nopath(Carpeta[i].name),0.5,Negro,0x0)
			end
		Y1=Y1+15
		if Y1 >= 250 then Y1=50 end
	end
end


--[NO EXISTEN LOS LIMITES =D]--

Imagen de Jepte

tal vez sea por que estas

tal vez sea por que estas utilizando tres argumentos quita el ultimo el "Archivo"

for i = Archivo, max, Archivo do

Eso es porque debes reiniciar

Eso es porque debes reiniciar el valor de Y antes de empezar a blitear la lista

Y1=0 --o cualquier otro valor, aquí se va blitear el 1er elemento
  for i = Archivo, max, Archivo do
   ...

Imagen de PerezRE

PerezRE

Dentro de la funcion los argumentos tienen que ser existentes?, es decir, las variables.

Imagen de Jepte

no , pueden no existir pero

no , pueden no existir pero al llamar ala funcion sera nesesario poner el argumento ya que no tendra nada por defaul, normalmente alas variables que se utilizan en las funciones se les declara como variables locales esto se hace simplemente ponendo la palabra reservada local antes de asicnar el valor, ejemplo     local archivo=1  , despues aunque cambies el valor ala variable ya no es nesesario la palabra local, la palabra local sirve para no causar una incompativilidad esdecir si existe una variable que se llame igual ala variable local no le afecta al programa.

Imagen de PerezRE

PerezRE

Gracias Jepte.

Te recomendaría estructurar mejor el código

Para que se entienda mejor, un pequeño ejemplo de dos codes que hacen lo mismo pero uno bien estructurado y otro no:

while true do
controls.read()
if controls.press("cross") then
Accion(
a,
b)
end
if controls.press("start")
and controls.press("select")
then Accion(a
,b
,c
)
end
screen.flip()
end

Ahora bien hecho:

while true do
	controls.read()
 
	if controls.press("cross") then
		Accion(a,b)
	end
 
	if(controls.press("start") and controls.press("select")) then 
		Accion(a,b,c)
	end
 
	screen.flip()
end

Notas la diferencia? Los dos funcionan igual pero a la hora de leerlos se entienden mejor, o incluso puedes hacer esto:

while true do
	controls.read()
 
	if controls.press("cross") then
		Accion(a,b)	end
 
	if(controls.press("start") and controls.press("select")) then 
		Accion(a,b,c)	end
 
	screen.flip()
end

Salu2 y gracias por el tutorial! §

Imagen de Jepte

.

pues si haci lo tengo, no?, o a que te refieres.? ha te refieres a darle espacio alas lines , meter las lineas hacia dentro?

Sep, se refiere a "meter las

Sep, se refiere a "meter las lineas hacia dentro", a IDENTAR el code, vamos (resulta más fácil leerlo así).

Imagen de zerozelta

muy bien el tutorial, pero

muy bien el tutorial, pero veo que usas demaciado codigo repetitivo, que si bien no quieres usar el bucle for, podrias evitartelo usando funciones (para no tener que estar usando tantos ifs y no tener un codigo tan largo) es solo un consejo

Saludos¡¡


Imagen de Jepte

..

:D , claro que tonto, como no se me ocurrio, creo que no me lo tome muy encerio, que buena idea hare una funcion, gracias por el consejo o mas bien la idea.saludos

Imagen de PerezRE

PerezRE

Execelente tutorial jepte, me ha caido como "anillo al dedo". Aun me cuesta aprender mejor el for.
Cuando lo aprendo, por ciertas razones extrañas lo olvido XD. No sé si sea por falta de practica o algo así.


--[NO EXISTEN LOS LIMITES =D]--

Imagen de Jepte

que bueno que te sirva, y yo

que bueno que te sirva, y yo que pense que no servia de mucho.xd , la verdad a mi la funcion for no me cae muy bien, y hay aveses que hace mas lento el programa, de esta forma se tiene mas controlodo todo.xd . saludos

En los exploradores el for

En los exploradores el for alenta el programa porque si entran a una carpeta con muchos elementos, los blitea todos aunque ya no estén dentro de la pantalla... si le ponen un límite superior se ahorran tiempo y muchísimo code ;)

La solución es usar un if

Para que bliteé solo unos pocos si esta carpeta contiene demasiados archivos.

 

Salu2! §

Pero si sigues usando esto

Pero si sigues usando esto para imprimir...

lista = files.list....
  for i=1,#lista do
...
...

Se te va seguir alentando aunque pongas condiciones, porque el for sigue recorriendo toda la lista entera. No, la solución verdadera es usar algo como...

lista = files.list...
--Digamos que sólo quiero 15 elementos máximo en pantalla, tal que
  if #lista > 15 then --Si son más de 15, sólo 15
    lim = 15 
  else  --Si son menos, ps los que sean
    lim = #lista
  end
 
--Y para imprimir...
for i=init,lim do
  ...
  ... 

Y así no importa que tengas 1000 archivos en una carpeta, sólo se imprimen 15 máximo y el code va rapidísimo. Claro, hay que mover 3 variables para lograr el scroll (init, lim y la que te indica el elemento seleccionado), pero un bajo precio por ganar rapidez de ejecución.

Imagen de Jepte

el for trabaja igual que el

el for trabaja igual que el while, nose si traira un while adentro pero en todo caso la ejecusion es igual de rapida.

edito: me refiero con for y sin for.xd

De hecho en LuaDEV hay un

De hecho en LuaDEV hay un pequeño lag con el for (hay un hilo sobre eso aquí mismo). Como sea, qué es más rápido? Revisar 1000 habitaciones, o revisar 15? De eso trata mi code ;)

Imagen de Jepte

si me equiboque cuando

si me equiboque cuando pusiste "un precio muy bajo pero se ejecuta mas rapido", pense que lo estabas conparando con el codigo del explorador.xd

Imagen de gdljjrod

Vaya que si

el famoso scroll y te ahorras miles de ifs... Pero cierto también que hay quien se les complica el for.

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.