home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / GFXFX2.ZIP / WAVY.PAS < prev    next >
Pascal/Delphi Source File  |  1995-02-14  |  947b  |  35 lines

  1.  
  2. program wavy; { WAVY.PAS }
  3. { Small demo for the 'use' of sine-tables, by Bas van Gaalen }
  4. uses
  5.   u_vga,u_pal,u_kb;
  6. const
  7.   add1=1; add2=-1; add3=-1;
  8. var
  9.   ptab,ctab:array[0..319] of byte;
  10.   stab1,stab2,stab3:array[0..255] of byte;
  11.   i,i1,i2,i3:word;
  12.  
  13. begin
  14.   for i:=0 to 255 do begin
  15.     stab1[i]:=round(sin(i*2*pi/255)*50)+99;
  16.     stab2[i]:=round(cos(i*4*pi/255)*25);
  17.     stab3[i]:=round(sin(i*4*pi/255)*25);
  18.   end;
  19.   fillchar(ctab,sizeof(ctab),0);
  20.   setvideo($13);
  21.   for i:=1 to 199 do setrgb(i,i div 4,20+i div 5,10+i div 6);
  22.   i1:=0; i2:=25; i3:=100;
  23.   repeat
  24.     move(ctab,ptab,sizeof(ctab));
  25.     vretrace;
  26.     for i:=0 to 319 do begin
  27.       ctab[i]:=stab1[(i+i1) mod 255]+stab2[(i+i2) mod 255]+stab3[(i+i3) mod 255];
  28.       putpixel(i,ptab[i],0);
  29.       putpixel(i,ctab[i],ctab[i]);
  30.     end;
  31.     i1:=(i1+add1) mod 255; i2:=(i2+add2) mod 255; i3:=(i3+add3) mod 255;
  32.   until keypressed;
  33.   setvideo(u_lm);
  34. end.
  35.