home *** CD-ROM | disk | FTP | other *** search
- #define MINICURSES
- #include <curses.h>
- #include <signal.h>
- /* rain 11/3/1980 EPS/CITHEP */
-
- #define cursor(col,row) move(row,col)
- main(argc,argv)
- int argc;
- char *argv[];
- {
- char *malloc();
- float ranf();
- int onsig();
- register int x, y, j;
- static int xpos[5], ypos[5];
- setbuf(stdout,malloc(BUFSIZ));
-
- #ifdef AMIGA
- signal(SIGINT, SIG_IGN);
- #else
- for (j=SIGHUP;j<=SIGTERM;j++)
- if (signal(j,SIG_IGN)!=SIG_IGN) signal(j,onsig);
- #endif /* AMIGA */
-
- initscr();
- nl();
- noecho();
- for (j=5;--j>=0;) {
- xpos[j]=(int)(76.*ranf())+2;
- ypos[j]=(int)(20.*ranf())+2;
- }
- for (j=0;;) {
- x=(int)(76.*ranf())+2;
- y=(int)(20.*ranf())+2;
-
- cursor(x,y); addch('.');
-
- cursor(xpos[j],ypos[j]); addch('o');
-
- if (j==0) j=4; else --j;
- cursor(xpos[j],ypos[j]); addch('O');
-
- if (j==0) j=4; else --j;
- cursor(xpos[j],ypos[j]-1);
- addch('-');
- cursor(xpos[j]-1,ypos[j]);
- addstr("|.|");
- cursor(xpos[j],ypos[j]+1);
- addch('-');
-
- if (j==0) j=4; else --j;
- cursor(xpos[j],ypos[j]-2);
- addch('-');
- cursor(xpos[j]-1,ypos[j]-1);
- addstr("/ \\");
- cursor(xpos[j]-2,ypos[j]);
- addstr("| O |");
- cursor(xpos[j]-1,ypos[j]+1);
- addstr("\\ /");
- cursor(xpos[j],ypos[j]+2);
- addch('-');
-
- if (j==0) j=4; else --j;
- cursor(xpos[j],ypos[j]-2);
- addch(' ');
- cursor(xpos[j]-1,ypos[j]-1);
- addstr(" ");
- cursor(xpos[j]-2,ypos[j]);
- addstr(" ");
- cursor(xpos[j]-1,ypos[j]+1);
- addstr(" ");
- cursor(xpos[j],ypos[j]+2);
- addch(' ');
- xpos[j]=x; ypos[j]=y;
- refresh();
- }
- }
-
- onsig(n)
- int n;
- {
- endwin();
- exit(0);
- }
-
- float
- ranf()
- {
- float rv;
- long r = rand();
-
- r &= 077777;
- rv =((float)r/32767.);
- return rv;
- }
-
- #ifdef AMIGA
- getpid()
- {
- return 221;
- }
- #endif /* AMIGA */
-