edivc/ediv/bin/colorido.prg
2002-09-06 00:56:54 +00:00

61 lines
1.3 KiB
Plaintext

PROGRAM colorido;
LOCAL
i1 , i2 ;
r , g , b ;
fondo ;
vx , vy ;
angulo ;
graf_barra[200] ;
BEGIN
rand_seed( 0 ) ;
from i2 = 36 to 165 ;
for ( i1 = 160 - ((( i2-36 ) * 75 ) / 129 ) ; i1 < 160 + ((( i2-36 ) * 75 ) / 129 ) ; i1++ )
r = 255 - 2*fget_dist( i1 , i2 , 160 , 36 ) ; if ( r< 0) r = 0 ; end
g = 255 - 2*fget_dist( i1 , i2 , 85 , 165 ) ; if ( g< 0) g = 0 ; end
b = 255 - 2*fget_dist( i1 , i2 , 245 , 165 ) ; if ( b< 0) b = 0 ; end
put_pixel( i1 , i2 , rgb(r,g,b) ) ;
end
FRAME;
end
fondo = new_map( 320 , 200 , 0 , 0 , 0 ) ;
screen_copy( 0 , 0 , fondo , 0 , 0 , 320 , 200 ) ;
map_block_copy( 0 , graph , 0 , 0 , fondo , 85 , 36 , 150 , 126 ) ;
clear_screen() ;
angle = 1500 ;
from i1 = 0 to 199 ;
angle+= 3000 ;
graf_barra[i1] = new_map( 320 , 1 , 0 , 0 , 0 ) ;
map_block_copy( 0 , graf_barra[i1] , 0 , 0 , fondo , 0 , i1*1 , 320 , 1 ) ;
end
vx = rand( -3 , 3 ) ;
vy = rand( -3 , 3 ) ;
flags = 4 ;
transparency = 128 ;
loop
angle+= 15000 ;
from i1 = 0 to 199 ;
put( 0 , graf_barra[i1] , cos(angle+i1*6000) / 50 , i1 *1 ) ;
end
frame;
clear_screen() ;
end
end
PROCESS barra( graph , angle , y ) ;
BEGIN
LOOP
angle += 15000 ;
x = cos(angle+i1*30000) / 50 ;
FRAME;
END
END