Hola tengo una duda espero que me puedan ayudar
como uso este codigo
for (<statement1> ; <expression> ;<statement2>) <statement3>
definicion
{for (i=0; i<=9; i+=1) list = i+1;}
que objetivo tiene el for no le encuetro ventaja
me podrian hacer un ejemplo
Hola.
Yo principalmente lo uso para el menu principal y sub-menus aunque hay muchas formas de aprovecharlo
Te dejo un ejemplo :)
NOTA: Solo es el menu, no sirven los comandos exepto el ultimo.
el for es una base de la programacion ya que permite ejecutar un codigo varias veces con una variable que cambia, por ejemplo:
[gml]for (i=0; i<5; i+=1)
{
array=0;
}[/gml]
Tambien para crear objetos, o cualquier codigo que quieras repetir pero cambiando uno de los valores (la variable i) espero que sea suficiente, sino deberias buscar explicaciones por internet, seguro que las encuentras mejores. Utilidades ya las encontraras, por eso no te preocupes! xD
El for es una de las cosas m?s ?tiles que existen jaja.
Mir?, prob? esto.
Cre? un juego nuevo con un room, y dentro pon? un objeto con los siguientes c?digos:
Create:
[gml]dot[0, 0] = 0;
dot[0, 1] = 0;
dots = 0;[/gml]
Global left click pressed:
[gml]dot[dots, 0] = mouse_x;
dot[dots, 1] = mouse_y;[/gml]
Draw:
[gml]for(i = 0; i < dots - 1; i += 1) {
draw_line(dot[i, 0], dot[i, 1], dot[i + 1, 0], dot[i + 1, 1]);
}[/gml]
Y a ver si se te ocurre una forma de hacer eso sin un for (ni ning?n bucle, eh).
Cita de: Wadk en Septiembre 11, 2011, 06:40:25 PM
Y a ver si se te ocurre una forma de hacer eso sin un for (ni ning?n bucle, eh).
Bueno es muy sencillo lograr lo mismo sin un for o ning?n otro bucle, tan simple como a?adir estos codigos.
Ev Create:
[gml][/gml]
Ev Global left click pressed:
[gml][/gml]
Ev Draw:
[gml][/gml]
Y listo as? puedes lograr el mismo efecto (nada) XD.
No entiendo como va a funcionar el c?digo si "i" es "0" y en la expresi?n pides que i tiene que ser menor a "-1".
Cita de: brunoxzx en Septiembre 11, 2011, 09:08:28 PM
Cita de: Wadk en Septiembre 11, 2011, 06:40:25 PM
Y a ver si se te ocurre una forma de hacer eso sin un for (ni ning?n bucle, eh).
Bueno es muy sencillo lograr lo mismo sin un for o ning?n otro bucle, tan simple como a?adir estos codigos.
Ev Create:
[gml][/gml]
Ev Global left click pressed:
[gml][/gml]
Ev Draw:
[gml][/gml]
Y listo as? puedes lograr el mismo efecto (nada) XD.
No entiendo como va a funcionar el c?digo si "i" es "0" y en la expresi?n pides que i tiene que ser menor a "-1".
BUENO. Admito que no lo prob?, pero si no me estoy volviendo loco, en el for dice "i < dots - 1".
Aunque... en Global left click pressed me olvid? de algo. Deber?a ser as?:
[gml]dot[dots, 0] = mouse_x;
dot[dots, 1] = mouse_y;
dots += 1;[/gml]
Ah? s? deber?a funcionar.
Cita de: Wadk en Septiembre 11, 2011, 11:58:35 PM
en el for dice "i < dots - 1".
Dije eso pero como dots val?a 0 y menos 1 de daba -1.
Cita de: Wadk en Septiembre 11, 2011, 11:58:35 PM
Aunque... en Global left click pressed me olvid? de algo. Deber?a ser as?:
[gml]dot[dots, 0] = mouse_x;
dot[dots, 1] = mouse_y;
dots += 1;[/gml]
Ah? s? deber?a funcionar.
Ya sabia que te hacia falta poner algo solo quer?a molestar y por cierto si es posible solo hay que remitirse a mis m?todos de programaci?n cuando no sabia de la existencia de bucles.
Ev Create:
[gml]dot[0, 0] = 0;
dot[0, 1] = 0;
dots = 0;
i=0[/gml]
Ev Global left click pressed:
[gml]dot[dots, 0] = mouse_x;
dot[dots, 1] = mouse_y;
dots+=1[/gml]
Ev Draw:
[gml]dibuja_linea()[/gml]
Scr dibuja_linea():
[gml]if i<dots-1{
draw_line(dot[i, 0], dot[i, 1], dot[i + 1, 0], dot[i + 1, 1]);
i+=1;
dibuja_linea();
}else{
i=0;
}
[/gml]
Estoy seguro que hace algunos a?os habr?a escrito un script como ese para dibujar las lineas aunque tal vez habr?a usado primitivas.
Es una funci?n recursiva. Lo considero un bucle. ;)
Alguien me explica que es dot[0 , 0]?
Gracias :)
Cita de: Wadk en Septiembre 12, 2011, 03:13:49 AM
Es una funci?n recursiva. Lo considero un bucle. ;)
Nada te hace feliz >:(, jaja la verdad si es un bucle as? que creo que es cierto, no hay forma de lograrlo sin bucles, creo que con execute_string() se podr?a pero esa funci?n es tan arcaica y fea.
Cita de: MaanuRP en Septiembre 12, 2011, 03:21:33 AM
Alguien me explica que es dot[0 , 0]?
Gracias :)
dot es un array (http://www.comunidadgm.org/index.php?topic=10502.0l) bidimensional.
podria hacerlo sin for con variables pero igual seria un bucle.