Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: deathmetal en Marzo 19, 2010, 03:26:49 PM

Título: coordenadas multiplos de 16
Publicado por: deathmetal en Marzo 19, 2010, 03:26:49 PM
como elijo una coordenada al azar que este alineadas a la grilla 16*16


por ejemplo

xvar=random(aqui que pongo??!! XD)

para que este alineada a la grilla no se si me explico gracias
Título: Re: coordenadas multiplos de 16
Publicado por: hardraid en Marzo 19, 2010, 04:41:32 PM

xvar=random(room_width);

for(i=0;i<room_width;i+=16)
{
    if(xvar-i<=8 and xvar-i>=-8)
    {
        xvar=i;
    }
}
Título: Re: coordenadas multiplos de 16
Publicado por: deathmetal en Marzo 19, 2010, 05:26:56 PM
es la unica manera? es que tengo que ponerlo en una linea de script xD ciberman me paso este codigo:

floor(random(room_width-marg/16))*16

y va bastante bien pero no me convence el resultado
Título: Re: coordenadas multiplos de 16
Publicado por: hardraid en Marzo 19, 2010, 05:33:01 PM
la verdad q nose como hacerlo corto, asi como esta funciona perfecto. por q no te convence el resultado de ciberman???
Título: Re: coordenadas multiplos de 16
Publicado por: deathmetal en Marzo 19, 2010, 05:51:06 PM
ya... esq al codigo realmente le agregue unas cosas y ya quedo era sin el -marg

por cosas de un codigo anterior se lo puse, pero parece que no funciona asi la cosa xD

gracias d todas formas y sobre todo a ciberman
Título: Re: coordenadas multiplos de 16
Publicado por: soccer2008 en Marzo 20, 2010, 09:56:19 PM
Detalla m?s para poder ayudarte xq no entend? :( :( :(
Título: Re: coordenadas multiplos de 16
Publicado por: Alfonsos1 en Marzo 20, 2010, 10:15:39 PM
variable = floor(random(room_width/16))*16

variable = floor(random(cantidad_de_cuadrados_de_la_gird))*16

los dos hacen lo mismo
Título: Re: coordenadas multiplos de 16
Publicado por: Ciberman en Marzo 20, 2010, 10:24:50 PM
justamente te pas? el codigo de Alfonsos

no recuerdo que te haya puesto -marg

aunque puedes usar la variable marg para indicar la suma de los margenes izquierdos iderechos si es que los hay
Título: Re: coordenadas multiplos de 16
Publicado por: soccer2008 en Marzo 22, 2010, 12:58:19 PM
si quieres q esos numeros no se repitan usa esto:

//********////////////////////////////////////////////******//
//          RANDOM CON NUMEROS SIN REPETICION              //
//********//////////////////////////////////////////******//
zF=0;fF=0;rF=0;cF=0;gF=0;fF=argument0
for(i=1;i<=60;i+=1){wF[i]=0;}
///////////////////////////////////////////////////////////
    while(zF<fF)
    {   cF=0;
        rF=floor(random(fF))+1;
       
        if(gF==0){gF=1;wF[zF]=rF;}
        for(jF=0;jF<zF;jF+=1){
        if(rF==wF[jF])
        { cF+=1;} 
        }
        if(cF==0){wF[zF]=rF;zF+=1;}
    }
///////////////////////////////////////////////////////////


saludos XD XD XD
Título: Re: coordenadas multiplos de 16
Publicado por: deathmetal en Marzo 22, 2010, 08:17:53 PM
Cita de: Ciberman en Marzo 20, 2010, 10:24:50 PM
no recuerdo que te haya puesto -marg

no no me lo pasaste con el -marg pero yo lo se lo puse por algunas cosas, lo explique arriba xD pero se lo quite y me sirvio mejor, aunque aun no me convence el resultado :S