Cosa rara de la hostia [Bucle imparable]

Started by Danielo515, November 26, 2010, 03:15:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

Este proceso, no entiendo muy bien porqué, se pasa el rango de la i por donde le da la gana. Donde antes está el i<10 antes había una constante, pero el caso es que el bucle no se detiene, sigue, y sigue, y sigue, bueno, os haceis una idea.
Me resulta raríiiiisimo.
[code language="bennu"]process buscador(x,y,int ini)
private
int color;
int borde=0;
otro=false;
private i;
BEGIN
color=map_get_pixel(0,0,x,y);
i=ini;
REPEAT
   f1.point.x=x;
   f1.point.y=y;

   if(color==map_get_pixel(0,0,x+1,y) and color==map_get_pixel(0,0,x,y+1) and color==map_get_pixel(0,0,x,y-1) )
      f1.point.borde=0;
      say("siguiente_punto"+i+" "+x+"-"+y);
      x++;
   else
      f1.point.borde=1;
         if( color==map_get_pixel(0,0,x+1,y) )
            otro=true;
            x++;
            say("siguiente_punto"+x+"-"+y+" BORDE");
         else
            otro=false;
         end
   end
   
   if(x>=ancho_p-1) x=0; y++; end
   i++;
UNTIL(otro==false and i<10)
//coloreador();
END[/code]

Outlaw

¿No será que la var i, que usas como límite en i < 10, al ser igual a ani, si ani cambia desde afuera lo hace también i?
"Life is cheap when the bounty is high"

Danielo515

No calla, que creo que el problema está en las condiciones de fin del bucle. Es que estoy un poco atontado hoy  ;D

SplinterGU

muchacho... se tienen que cumplir las 2 condiciones para que salga... esto es, que otro == false y que i < 10, o sea, mientras otro == true o i > 10, el loop seguira.

yo supongo que queres hacer lo contrario, por ende, no deberias usar until... deberias usar while.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

No te preocupes Splinter, este proceso ya ni existe. Llevaba ya unas horas estudiando y me apetecía algo para desestresarme, pero no tenía la mente muy depejada.

Pero gracias a todos por contestar


Por cierto, ¿tiene alguien documentación de detección de formas, o me puede dar algúna explicación sencillita?

FreeYourMind

Danielo, por curiosidad te gusta el 5 ?

Tienes dos 5 en el nombre, tu numero de posts acaba en 5, y hasta tienes el record de karmas, 5 negativos xDDDDDD

Danielo515

La historia del 5 en mi nick ya te la contaré, que es muy larga.

Lo de los karmas está bien, sirve para darte cuenta de la realidad, de en un foro donde no crees que le caigas mal a la gente, y resulta que eres el más odiado  ??? Supongo que me merezco esos 5 karmas, ke seguro 3 me los ha puesto el jefe, por pesado, ja ja ja.

Bueno, acabo de fastidiar el número de post.

Ya lo celebraré cuando llegue a 515

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind