While, Repeat, Function
While, Repeat y Function


Estos comandos se utilizan para hacer que se repita un fragmento de código hasta que se cumpla una condición.

While/Wend

Se usa While (Que significa mientras) para repetir el código que este entre While y Wend. Un ejemplo:



Graphics 800,600
While not keydown(KEY_ESCAPE)
Drawrect 50,50,50,50
Flip
Cls
Wend
end

Significa que mientras no se pulse la tecla ESC se repetirá el código comprendido entre While y Wend.

El comando CLS sirve para limpiar la pantalla, sino se dibujaría el mismo cuadrado una y otra vez encima de si mismo. La mejor forma de comprobarlo es la siguiente:



Graphics 800,600
Global x% = 400
Global y% = 300

While not keydown(KEY_ESCAPE)
Drawrect x,y,50,50
If keydown(KEY_RIGHT) Then x:+3
If keydown(KEY_LEFT) Then x:-3
If keydown(KEY_DOWN) Then y:+3
If keydown(KEY_UP) Then y:-3
Flip
Cls
Wend
end


Puedes mover el cuadrado, pero si suprimes el CLS, nunca se limpia la pantalla, es como si tienes una hoja en blanco y vas dibujando cuadrados cada vez más hacia la derecha, al final tendras muchos cuadrados, pero
si cada vez que vas a dibujar un nuevo cuadrado borras el anterior, el cuadrado va cambiando de posición. Puedes probrar a quitarle el CLS.

No te preocupes si no entiendes último código, lo explicaré en siguientes capitulos.

Repeat/Until

El repeat es muy parecido a while, repite un fragmento de código comprendido entre repeat (repetir) y until (hasta) hasta que la condición de until sea verdadera.
El anterior código utilizando repeat/until:



Graphics 800,600
Repeat
Drawrect 50,50,50,50
Flip
Cls
Until keydown(KEY_ESCAPE)
end



Function

Se usa function para mantener el código ordenado y no repetir fragmentos.

Cuando se invoca una función esta realiza una tarea anteriormente designada, ejecuta un fragmento de código que está comprendido entre Function y Endfunction
Un ejemplo modificando un código ya usado:


Graphics 800,600
Global x% = 400
Global y% = 300
While not keydown(KEY_ESCAPE)
Drawrect x,y,50,50
Mover()
Flip
Cls
Wend
end
Function Mover()
If keydown(KEY_RIGHT) Then x:+3
If keydown(KEY_LEFT) Then x:-3
If keydown(KEY_DOWN) Then y:+3
If keydown(KEY_UP) Then y:-3
Endfunction



Si teneis alguna duda preguntadme mediante comentarios.
Buscar:
 
Donar:
 
Ubuntu 9.04
 
 


Jpsweber 2009
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis