Sugerencia

Started by Yawin, March 02, 2011, 09:26:43 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

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.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Windgate

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.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

es imposible hacer esto sin romper compatibilidad... si hubiesen tomado con alegria el cambio de no permitir autodeclaracion de funciones, esto seria otra cosa.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Hombre, cuesta mucho poner un 1 o 2 despues del nombre de la función hermana ?  ;D

Yawin

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
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end