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í:
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:
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.
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.
es imposible hacer esto sin romper compatibilidad... si hubiesen tomado con alegria el cambio de no permitir autodeclaracion de funciones, esto seria otra cosa.
Hombre, cuesta mucho poner un 1 o 2 despues del nombre de la función hermana ? ;D
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