diff options
Diffstat (limited to 'test/firework.c')
-rw-r--r-- | test/firework.c | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/test/firework.c b/test/firework.c deleted file mode 100644 index 2c409d835a2b..000000000000 --- a/test/firework.c +++ /dev/null @@ -1,196 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ -/* - * $Id: firework.c,v 1.27 2010/11/13 20:58:25 tom Exp $ - */ -#include <test.priv.h> - -#include <time.h> - -static short my_bg = COLOR_BLACK; - -static void -cleanup(void) -{ - curs_set(1); - endwin(); -} - -static RETSIGTYPE -onsig(int n GCC_UNUSED) -{ - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static void -showit(void) -{ - int ch; - napms(120); - if ((ch = getch()) != ERR) { -#ifdef KEY_RESIZE - if (ch == KEY_RESIZE) { - erase(); - } else -#endif - if (ch == 'q') { - cleanup(); - ExitProgram(EXIT_SUCCESS); - } else if (ch == 's') { - nodelay(stdscr, FALSE); - } else if (ch == ' ') { - nodelay(stdscr, TRUE); - } - } -} - -static short -get_colour(chtype *bold) -{ - int attr; - attr = (rand() % 16) + 1; - - *bold = A_NORMAL; - if (attr > 8) { - *bold = A_BOLD; - attr &= 7; - } - return (short) (attr); -} - -static -void -explode(int row, int col) -{ - chtype bold; - erase(); - MvPrintw(row, col, "-"); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - (void) attrset(COLOR_PAIR(1) | bold); - MvPrintw(row - 1, col - 1, " - "); - MvPrintw(row + 0, col - 1, "-+-"); - MvPrintw(row + 1, col - 1, " - "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - (void) attrset(COLOR_PAIR(1) | bold); - MvPrintw(row - 2, col - 2, " --- "); - MvPrintw(row - 1, col - 2, "-+++-"); - MvPrintw(row + 0, col - 2, "-+#+-"); - MvPrintw(row + 1, col - 2, "-+++-"); - MvPrintw(row + 2, col - 2, " --- "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - (void) attrset(COLOR_PAIR(1) | bold); - MvPrintw(row - 2, col - 2, " +++ "); - MvPrintw(row - 1, col - 2, "++#++"); - MvPrintw(row + 0, col - 2, "+# #+"); - MvPrintw(row + 1, col - 2, "++#++"); - MvPrintw(row + 2, col - 2, " +++ "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - (void) attrset(COLOR_PAIR(1) | bold); - MvPrintw(row - 2, col - 2, " # "); - MvPrintw(row - 1, col - 2, "## ##"); - MvPrintw(row + 0, col - 2, "# #"); - MvPrintw(row + 1, col - 2, "## ##"); - MvPrintw(row + 2, col - 2, " # "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - (void) attrset(COLOR_PAIR(1) | bold); - MvPrintw(row - 2, col - 2, " # # "); - MvPrintw(row - 1, col - 2, "# #"); - MvPrintw(row + 0, col - 2, " "); - MvPrintw(row + 1, col - 2, "# #"); - MvPrintw(row + 2, col - 2, " # # "); - showit(); -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - int start, end, row, diff, flag = 0, direction; - unsigned seed; - - CATCHALL(onsig); - - initscr(); - noecho(); - cbreak(); - keypad(stdscr, TRUE); - nodelay(stdscr, TRUE); - - if (has_colors()) { - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - my_bg = -1; -#endif - } - curs_set(0); - - seed = (unsigned) time((time_t *) 0); - srand(seed); - for (;;) { - do { - start = rand() % (COLS - 3); - end = rand() % (COLS - 3); - start = (start < 2) ? 2 : start; - end = (end < 2) ? 2 : end; - direction = (start > end) ? -1 : 1; - diff = abs(start - end); - } while (diff < 2 || diff >= LINES - 2); - (void) attrset(A_NORMAL); - for (row = 0; row < diff; row++) { - MvPrintw(LINES - row, start + (row * direction), - (direction < 0) ? "\\" : "/"); - if (flag++) { - showit(); - erase(); - flag = 0; - } - } - if (flag++) { - showit(); - flag = 0; - } - seed = (unsigned) time((time_t *) 0); - srand(seed); - explode(LINES - row, start + (diff * direction)); - erase(); - showit(); - } -} |