⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firework.c

📁 一个C格式的脚本处理函数库源代码,可让你的C程序具有执行C格式的脚本文件
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <signal.h>#include <curses.h>#include <ctype.h>#include <time.h>static int get_colour(void);static void explode(int row, int col);static void showit(void);int main(int argc, char *argv[]){int start,end,row,diff,flag = 0,direction;unsigned seed;       initscr();       if (has_colors())          start_color();       seed = time((time_t *)0);       srand(seed);       cbreak();       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);            attrset(A_NORMAL);            for (row=1;row<diff;row++) {                mvprintw(LINES - row,start + (row * direction),                    (direction < 0) ? "\\" : "/");                if (flag++) {                    showit();                    erase();                    flag = 0;                }            }            if (flag++) {                showit();                flag = 0;            }            seed = time((time_t *)0);            srand(seed);            explode(LINES-row,start+(diff*direction));            erase();            showit();       }}staticvoid explode(int row, int col){       erase();       mvprintw(row,col,"-");       showit();       init_pair(1,get_colour(),COLOR_BLACK);       attrset(COLOR_PAIR(1));       mvprintw(row-1,col-1," - ");       mvprintw(row,col-1,"-+-");       mvprintw(row+1,col-1," - ");       showit();       init_pair(1,get_colour(),COLOR_BLACK);       attrset(COLOR_PAIR(1));       mvprintw(row-2,col-2," --- ");       mvprintw(row-1,col-2,"-+++-");       mvprintw(row,  col-2,"-+#+-");       mvprintw(row+1,col-2,"-+++-");       mvprintw(row+2,col-2," --- ");       showit();       init_pair(1,get_colour(),COLOR_BLACK);       attrset(COLOR_PAIR(1));       mvprintw(row-2,col-2," +++ ");       mvprintw(row-1,col-2,"++#++");       mvprintw(row,  col-2,"+# #+");       mvprintw(row+1,col-2,"++#++");       mvprintw(row+2,col-2," +++ ");       showit();       init_pair(1,get_colour(),COLOR_BLACK);       attrset(COLOR_PAIR(1));       mvprintw(row-2,col-2,"  #  ");       mvprintw(row-1,col-2,"## ##");       mvprintw(row,  col-2,"#   #");       mvprintw(row+1,col-2,"## ##");       mvprintw(row+2,col-2,"  #  ");       showit();       init_pair(1,get_colour(),COLOR_BLACK);       attrset(COLOR_PAIR(1));       mvprintw(row-2,col-2," # # ");       mvprintw(row-1,col-2,"#   #");       mvprintw(row,  col-2,"     ");       mvprintw(row+1,col-2,"#   #");       mvprintw(row+2,col-2," # # ");       showit();}staticint get_colour(void){ int attr;       attr = (rand() % 16)+1;       if (attr == 1 || attr == 9)          attr = COLOR_RED;       if (attr > 8)          attr |= A_BOLD;       return(attr);}static voidshowit(void){	refresh();	napms(120);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -