root/misc/wave.c

Revision 966, 0.6 kB (checked in by alpt, 2 years ago)

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /*
2 * Wed Mar 22 04:08:39 CET 2006
3 * gcc -lm wave.c
4 * AlpT
5 */
6
7 #include <math.h>
8 #include <unistd.h>
9
10 #define PI 3.1415926532
11
12 int main(int argc, char **argv)
13 {
14         float x, y, s, count;
15         int e, w, wo;
16         char c, cn;
17
18         c = argc > 1 ? argv[1][0] : '>';
19         cn = argc > 2 ? argv[2][0] : '<';
20         w = argc > 3 ? atoi(argv[3]) : 4000;
21         wo=w;
22
23         count=0;
24 loop:
25         for(x=0; x<2*PI; x+=0.03) {
26                 y=sin(x)*40;
27
28                 s=y-1+40;
29                 for(e=0; e<s; e++)
30                         printf(" ");
31                 if(y<0)
32                         printf("%c", cn);
33                 else
34                         printf("%c", c);
35                
36                 printf("\n");
37                 usleep(w);
38         }
39        
40         count+=1;
41         w+=sin(count)*(wo>>2);
42         if(count >= 2*PI)
43                 count=0;
44                        
45         goto loop;
46 }
Note: See TracBrowser for help on using the browser.