diff options
Diffstat (limited to 'ncurses-5.2/test/rain.c')
-rw-r--r-- | ncurses-5.2/test/rain.c | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/ncurses-5.2/test/rain.c b/ncurses-5.2/test/rain.c deleted file mode 100644 index 4bf0e06..0000000 --- a/ncurses-5.2/test/rain.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * $Id$ - */ -#include <test.priv.h> - -#include <term.h> /* for tparm() */ - -#include <signal.h> - -/* rain 11/3/1980 EPS/CITHEP */ - -static float ranf(void); -static void onsig(int sig); - -static int next_j(int j) -{ - if (j==0) j=4; else --j; - if (has_colors()) { - int z = (int)(3*ranf()); - chtype color = COLOR_PAIR(z); - if (z) - color |= A_BOLD; - attrset(color); - } - return j; -} - -int -main( - int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) -{ -int x, y, j; -static int xpos[5], ypos[5]; -float r; -float c; - - for (j=SIGHUP;j<=SIGTERM;j++) - if (signal(j,SIG_IGN)!=SIG_IGN) signal(j,onsig); - - initscr(); - if (has_colors()) { - int bg = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - init_pair(1, COLOR_BLUE, bg); - init_pair(2, COLOR_CYAN, bg); - } - nl(); - noecho(); - curs_set(0); - timeout(0); - - r = (float)(LINES - 4); - c = (float)(COLS - 4); - for (j=5;--j>=0;) { - xpos[j]=(int)(c* ranf())+2; - ypos[j]=(int)(r* ranf())+2; - } - - for (j=0;;) { - x=(int)(c*ranf())+2; - y=(int)(r*ranf())+2; - - mvaddch(y,x, '.'); - - mvaddch(ypos[j], xpos[j], 'o'); - - j = next_j(j); - mvaddch(ypos[j], xpos[j], 'O'); - - j = next_j(j); - mvaddch( ypos[j]-1, xpos[j], '-'); - mvaddstr(ypos[j], xpos[j]-1, "|.|"); - mvaddch( ypos[j]+1, xpos[j], '-'); - - j = next_j(j); - mvaddch( ypos[j]-2, xpos[j], '-'); - mvaddstr(ypos[j]-1, xpos[j]-1, "/ \\"); - mvaddstr(ypos[j], xpos[j]-2, "| O |"); - mvaddstr(ypos[j]+1, xpos[j]-1, "\\ /"); - mvaddch( ypos[j]+2, xpos[j], '-'); - - j = next_j(j); - mvaddch( ypos[j]-2, xpos[j], ' '); - mvaddstr(ypos[j]-1, xpos[j]-1, " "); - mvaddstr(ypos[j], xpos[j]-2, " "); - mvaddstr(ypos[j]+1, xpos[j]-1, " "); - mvaddch( ypos[j]+2, xpos[j], ' '); - - xpos[j] = x; ypos[j] = y; - - switch(getch()) - { - case('q'): - case('Q'): - curs_set(1); - endwin(); - return(EXIT_SUCCESS); - case 's': - nodelay(stdscr, FALSE); - break; - case ' ': - nodelay(stdscr, TRUE); - break; -#ifdef KEY_RESIZE - case(KEY_RESIZE): - r = (float)(LINES - 4); - c = (float)(COLS - 4); - break; -#endif - } - napms(50); - } -} - -static void -onsig(int n GCC_UNUSED) -{ - curs_set(1); - endwin(); - exit(EXIT_FAILURE); -} - -static float -ranf(void) -{ - long r = (rand() & 077777); - return ((float) r / 32768.); -} |