Bennu Game Development

Foros en Español => Sugerencias => Mensaje iniciado por: Yawin en Marzo 02, 2011, 09:26:43 am

Título: Sugerencia
Publicado por: Yawin en Marzo 02, 2011, 09:26:43 am
Bueno, esta sugerencia parte de mi nueva incursión al C# y esque he empezado a encontrar utilidad a una cosita muy cuca: la sobrecarga.

Tal vez sea completamente imposible, así como descabellada mi propuesta; pero, mi sugerencia es, que las funciones y procesos se puedan sobrecargar. De forma que un proceso sobrecargado, en vez de quedar así:
Código: [Seleccionar]
process espiral(int eq,int yi,int fi2,int incre,int tipo,int modo,int map,int color)
private
float fi,ro;
float py=3.1416;
end
begin
fi=fi2;
if(modo==1)
file=fpgs[0];
graph=1;
end

size=10;
loop
ro=(fi*py)/180000;

x=ro*cos(fi)+eq;
y=ro*sin(fi)+yi;

switch(modo)
case 1:
if(x<-10 || x>650 || y<-1 || y>650)
break;
end
end
case 2:
pixels(x,y,map,color);
if(x<0 || x>640 || y<0 || y>480 || fi==0 || ro>250)
break;
end
end
end

frame(10);

if(tipo==0)
fi+=incre;
else
fi-=incre;
end
end
end

process pixels(x,y,int map,int color)
private
int i;
end
begin

map_put_pixel(0,map,x,y,color);
for(i=0;i<120;i++)
frame;
end
map_put_pixel(0,map,x,y,rgb(0,0,0));

end


Quedase asi:
Código: [Seleccionar]
process espiral(int eq,int yi,int fi2,int incre,int tipo)
private
float fi,ro;
float py=3.1416;
end
begin
fi=fi2;

file=fpgs[0];
graph=1;

size=10;
loop
ro=(fi*py)/180000;

x=ro*cos(fi)+eq;
y=ro*sin(fi)+yi;

if(x<-10 || x>650 || y<-1 || y>650)
break;
end

frame(10);

if(tipo==0)
fi+=incre;
else
fi-=incre;
end
end
end

process espiral(int eq,int yi,int fi2,int incre,int tipo,int map,int color)
private
float fi,ro;
float py=3.1416;
end
begin
fi=fi2;

loop
ro=(fi*py)/180000;

x=ro*cos(fi)+eq;
y=ro*sin(fi)+yi;

pixels(x,y,map,color);
if(x<0 || x>640 || y<0 || y>480 || fi==0 || ro>250)
break;
end

frame(10);

if(tipo==0)
fi+=incre;
else
fi-=incre;
end
end
end


process pixels(x,y,int map,int color)
private
int i;
end
begin
map_put_pixel(0,map,x,y,color);
for(i=0;i<120;i++)
frame;
end
map_put_pixel(0,map,x,y,rgb(0,0,0));
end

Yo creo que realmente sería algo útil que, además, nos evitaría tener que añadir parámetros a las llamadas que especifiquen que "modo" queremos emplear.
Título: Re: Sugerencia
Publicado por: Windgate en Marzo 03, 2011, 11:38:11 pm
Se propuso hace tiempo para la 2.0, quizás incluso lo propuse yo y todo xD

Apoyo la MOSIÓN!

Pero creo recordar que implicaba un cambio brutal en el motor, no se podría hacer sin reescribirlo casi todo.
Título: Re: Sugerencia
Publicado por: SplinterGU en Marzo 03, 2011, 11:42:00 pm
es imposible hacer esto sin romper compatibilidad... si hubiesen tomado con alegria el cambio de no permitir autodeclaracion de funciones, esto seria otra cosa.
Título: Re: Sugerencia
Publicado por: FreeYourMind en Marzo 04, 2011, 08:17:45 am
Hombre, cuesta mucho poner un 1 o 2 despues del nombre de la función hermana ?  ;D
Título: Re: Sugerencia
Publicado por: Yawin en Marzo 04, 2011, 08:58:55 am
Hombre, no es que cueste, pero es más... no se como decirlo, más sucio jajajajaja

Imaginaba que no se podía, pero como un día de estos se pueda, será la caña xD