diff --git a/Makefile b/Makefile index 29444c6..cd83b8c 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,12 @@ CC = gcc CFLAGS = -I./includes -Wall -fPIC -OBJFILES = objs/bootstrap.o objs/cmd_utils.o objs/install_utils.o objs/shell_utils.o objs/ExamAll.o objs/FileInfo.o objs/updata_utils.o objs/Version.o +OBJFILES = objs/bootstrap.o objs/cmd_utils.o objs/install_utils.o objs/shell_utils.o objs/ExamAll.o objs/FileInfo.o objs/updata_utils.o objs/Version.o objs/sl.o TARGET = cil LIBTARGET = lib/libprintcolor.a LIBOBJS = objs/PrintColor.o + + all: $(TARGET) objs: @@ -41,8 +43,13 @@ objs/updata_utils.o: src/Utils/updata_utils.c objs objs/Version.o: src/Utils/Version.c objs $(CC) $(CFLAGS) -c $< -o $@ -$(TARGET): $(OBJFILES) $(LIBTARGET) - $(CC) $(CFLAGS) -pie $(OBJFILES) -o $(TARGET) -L./lib -lprintcolor +objs/sl.o: src/game/sl.c objs + $(CC) $(CFLAGS) -c $< -o $@ + + + +$(TARGET): $(OBJFILES) $(LIBTARGET) + $(CC) $(CFLAGS) -pie $(OBJFILES) -o $(TARGET) -L./lib -lprintcolor -lncurses clean: - rm -f $(OBJFILES) $(TARGET) $(LIBTARGET) \ No newline at end of file + rm -f $(OBJFILES) $(TARGET) $(LIBTARGET) \ No newline at end of file diff --git a/cil b/cil new file mode 100644 index 0000000..595ad38 Binary files /dev/null and b/cil differ diff --git a/includes/sl.h b/includes/sl.h new file mode 100644 index 0000000..5fb02ec --- /dev/null +++ b/includes/sl.h @@ -0,0 +1,167 @@ +/*======================================== + * sl.h: SL version 5.02 + * Copyright 1993,2002,2014 + * Toyoda Masashi + * (mtoyoda@acm.org) + * Last Modified: 2014/06/03 + *======================================== + */ + +#ifndef SL_H +#define SL_H + +#define D51HEIGHT 10 +#define D51FUNNEL 7 +#define D51LENGTH 83 +#define D51PATTERNS 6 + + +#define D51STR1 " ==== ________ ___________ " +#define D51STR2 " _D _| |_______/ \\__I_I_____===__|_________| " +#define D51STR3 " |(_)--- | H\\________/ | | =|___ ___| " +#define D51STR4 " / | | H | | | | ||_| |_|| " +#define D51STR5 " | | | H |__--------------------| [___] | " +#define D51STR6 " | ________|___H__/__|_____/[][]~\\_______| | " +#define D51STR7 " |/ | |-----------I_____I [][] [] D |=======|__ " + +#define D51WHL11 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ " +#define D51WHL12 " |/-=|___|= || || || |_____/~\\___/ " +#define D51WHL13 " \\_/ \\O=====O=====O=====O_/ \\_/ " + +#define D51WHL21 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ " +#define D51WHL22 " |/-=|___|=O=====O=====O=====O |_____/~\\___/ " +#define D51WHL23 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ " + +#define D51WHL31 "__/ =| o |=-O=====O=====O=====O \\ ____Y___________|__ " +#define D51WHL32 " |/-=|___|= || || || |_____/~\\___/ " +#define D51WHL33 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ " + +#define D51WHL41 "__/ =| o |=-~O=====O=====O=====O\\ ____Y___________|__ " +#define D51WHL42 " |/-=|___|= || || || |_____/~\\___/ " +#define D51WHL43 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ " + +#define D51WHL51 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ " +#define D51WHL52 " |/-=|___|= O=====O=====O=====O|_____/~\\___/ " +#define D51WHL53 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ " + +#define D51WHL61 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ " +#define D51WHL62 " |/-=|___|= || || || |_____/~\\___/ " +#define D51WHL63 " \\_/ \\_O=====O=====O=====O/ \\_/ " + +#define D51DEL " " + +#define COAL01 " " +#define COAL02 " " +#define COAL03 " _________________ " +#define COAL04 " _| \\_____A " +#define COAL05 " =| | " +#define COAL06 " -| | " +#define COAL07 "__|________________________|_ " +#define COAL08 "|__________________________|_ " +#define COAL09 " |_D__D__D_| |_D__D__D_| " +#define COAL10 " \\_/ \\_/ \\_/ \\_/ " + +#define COALDEL " " + +#define LOGOHEIGHT 6 +#define LOGOFUNNEL 4 +#define LOGOLENGTH 84 +#define LOGOPATTERNS 6 + +#define LOGO1 " ++ +------ " +#define LOGO2 " || |+-+ | " +#define LOGO3 " /---------|| | | " +#define LOGO4 " + ======== +-+ | " + +#define LWHL11 " _|--O========O~\\-+ " +#define LWHL12 "//// \\_/ \\_/ " + +#define LWHL21 " _|--/O========O\\-+ " +#define LWHL22 "//// \\_/ \\_/ " + +#define LWHL31 " _|--/~O========O-+ " +#define LWHL32 "//// \\_/ \\_/ " + +#define LWHL41 " _|--/~\\------/~\\-+ " +#define LWHL42 "//// \\_O========O " + +#define LWHL51 " _|--/~\\------/~\\-+ " +#define LWHL52 "//// \\O========O/ " + +#define LWHL61 " _|--/~\\------/~\\-+ " +#define LWHL62 "//// O========O_/ " + +#define LCOAL1 "____ " +#define LCOAL2 "| \\@@@@@@@@@@@ " +#define LCOAL3 "| \\@@@@@@@@@@@@@_ " +#define LCOAL4 "| | " +#define LCOAL5 "|__________________| " +#define LCOAL6 " (O) (O) " + +#define LCAR1 "____________________ " +#define LCAR2 "| ___ ___ ___ ___ | " +#define LCAR3 "| |_| |_| |_| |_| | " +#define LCAR4 "|__________________| " +#define LCAR5 "|__________________| " +#define LCAR6 " (O) (O) " + +#define DELLN " " + +#define C51HEIGHT 11 +#define C51FUNNEL 7 +#define C51LENGTH 87 +#define C51PATTERNS 6 + +#define C51DEL " " + +#define C51STR1 " ___ " +#define C51STR2 " _|_|_ _ __ __ ___________" +#define C51STR3 " D__/ \\_(_)___| |__H__| |_____I_Ii_()|_________|" +#define C51STR4 " | `---' |:: `--' H `--' | |___ ___| " +#define C51STR5 " +|~~~~~~~~++::~~~~~~~H~~+=====+~~~~~~|~~||_| |_|| " +#define C51STR6 " || | :: H +=====+ | |:: ...| " +#define C51STR7 "| | _______|_::-----------------[][]-----| | " + +#define C51WH61 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH62 "------'|oOo|==[]=- || || | ||=======_|__" +#define C51WH63 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| " +#define C51WH64 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + +#define C51WH51 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH52 "------'|oOo|===[]=- || || | ||=======_|__" +#define C51WH53 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| " +#define C51WH54 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + +#define C51WH41 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH42 "------'|oOo|===[]=- O=======O=======O | ||=======_|__" +#define C51WH43 "/~\\____|___|/~\\_| || || |__|+-/~\\_| " +#define C51WH44 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + +#define C51WH31 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH32 "------'|oOo|==[]=- O=======O=======O | ||=======_|__" +#define C51WH33 "/~\\____|___|/~\\_| || || |__|+-/~\\_| " +#define C51WH34 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + +#define C51WH21 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH22 "------'|oOo|=[]=- O=======O=======O | ||=======_|__" +#define C51WH23 "/~\\____|___|/~\\_| || || |__|+-/~\\_| " +#define C51WH24 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + +#define C51WH11 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__" +#define C51WH12 "------'|oOo|=[]=- || || | ||=======_|__" +#define C51WH13 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| " +#define C51WH14 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ " + + + +void sl_bootstrap(const char *script); +void add_smoke(int y, int x); +void add_man(int y, int x); +int add_C51(int x); +int add_D51(int x); +int add_sl(int x); +void option(char *str); +int my_mvaddstr(int y, int x, char *str); + + +#endif // SL_H diff --git a/src/Utils/cmd_utils.c b/src/Utils/cmd_utils.c index 2606aaf..53b6c27 100644 --- a/src/Utils/cmd_utils.c +++ b/src/Utils/cmd_utils.c @@ -47,6 +47,8 @@ void show_command_usage(const char *command) { }else if (strcmp(command, "updata") == 0) { // 增加的updata命令 }else if (strcmp(command, "version") == 0) { // 增加的updata命令 + }else if (strcmp(command, "sl") == 0) { // 增加的sl命令 + }else { color_printf(cyan,"CmdUtils的提示功能暂不支持命令\n"); } diff --git a/src/Utils/install_utils.c b/src/Utils/install_utils.c index 761d4fa..dea493e 100644 --- a/src/Utils/install_utils.c +++ b/src/Utils/install_utils.c @@ -22,10 +22,10 @@ void install_scripts(const char *script){ }else if (strcmp(script, "cloc") == 0) { system("sudo yum install epel-release -y && sudo yum install cloc -y"); }else if (strcmp(script, "gcc") == 0) { - system("sudo yum groupinstall \"Development Tools\""); + system("sudo yum groupinstall \"Development Tools\" -y"); system("gcc -v"); }else if(strcmp(script,"git") == 0){ - system("sudo yum install git"); + system("sudo yum install git -y"); system("git --version"); }else { color_printf(red,"CmdUtils的安装功能暂不支持该软件\n"); diff --git a/src/bootstrap.c b/src/bootstrap.c index df302cd..d84d41e 100644 --- a/src/bootstrap.c +++ b/src/bootstrap.c @@ -11,6 +11,7 @@ #include "../includes/FileInfo.h" #include "../includes/updata_utils.h" #include "../includes/Version.h" +#include "../includes/sl.h" @@ -24,7 +25,7 @@ int main(int argc, char *argv[]) { color_printf(cyan,"用法:cil (<参数>) <命令名>\n"); color_printf(cyan,"例如:cil i nginx 安装中间件Nginx\n"); color_printf(cyan,"cil version/updata :检查当前版本以及版本更新\n"); - color_printf(cyan,"cil * :支持nginx,psql(PostgreSQL),pro(进程检查命令),exe(可执行文件操作),base(基础linux检查),——————提示以及更新功能\n"); + color_printf(cyan,"cil * :支持nginx,psql(PostgreSQL),pro(进程检查命令),exe(可执行文件操作),base(基础linux检查),sl——————提示以及更新功能\n"); color_printf(cyan,"cil i * :支持nginx,psql,nvm,cloc,gcc,git——————安装功能\n"); color_printf(cyan,"cil s * :支持cil,env,banner,exam,cpu,free,system——————shell功能\n"); color_printf(cyan,"cil f * :支持exam(目录检查),info(目录下所有文件检查),nginx,psql——————文件类型检查功能\n"); @@ -35,9 +36,17 @@ int main(int argc, char *argv[]) { } if (argc == 2) { // argc参数为2时 + + updata_scripts(argv[1]); // 更新至最新版功能 print_version(argv[1]); // 版本打印功能 show_command_usage(argv[1]); // 提示功能 + sl_bootstrap(argv[1]); // 需要使用第三方库#include + + // + //安装:sudo yum install ncurses-devel + //查找:ls /usr/include/ | grep curses.h + // return 1; diff --git a/src/game/sl.c b/src/game/sl.c new file mode 100644 index 0000000..e52838b --- /dev/null +++ b/src/game/sl.c @@ -0,0 +1,324 @@ +/*======================================== + * sl.c: SL version 5.03 + * Copyright 1993,1998,2014-2015 + * Toyoda Masashi + * (mtoyoda@acm.org) + * Last Modified: 2014/06/03 + *======================================== + */ +/* sl version 5.03 : Fix some more compiler warnings. */ +/* by Ryan Jacobs 2015/01/19 */ +/* sl version 5.02 : Fix compiler warnings. */ +/* by Jeff Schwab 2014/06/03 */ +/* sl version 5.01 : removed cursor and handling of IO */ +/* by Chris Seymour 2014/01/03 */ +/* sl version 5.00 : add -c option */ +/* by Toyoda Masashi 2013/05/05 */ +/* sl version 4.00 : add C51, usleep(40000) */ +/* by Toyoda Masashi 2002/12/31 */ +/* sl version 3.03 : add usleep(20000) */ +/* by Toyoda Masashi 1998/07/22 */ +/* sl version 3.02 : D51 flies! Change options. */ +/* by Toyoda Masashi 1993/01/19 */ +/* sl version 3.01 : Wheel turns smoother */ +/* by Toyoda Masashi 1992/12/25 */ +/* sl version 3.00 : Add d(D51) option */ +/* by Toyoda Masashi 1992/12/24 */ +/* sl version 2.02 : Bug fixed.(dust remains in screen) */ +/* by Toyoda Masashi 1992/12/17 */ +/* sl version 2.01 : Smoke run and disappear. */ +/* Change '-a' to accident option. */ +/* by Toyoda Masashi 1992/12/16 */ +/* sl version 2.00 : Add a(all),l(long),F(Fly!) options. */ +/* by Toyoda Masashi 1992/12/15 */ +/* sl version 1.02 : Add turning wheel. */ +/* by Toyoda Masashi 1992/12/14 */ +/* sl version 1.01 : Add more complex smoke. */ +/* by Toyoda Masashi 1992/12/14 */ +/* sl version 1.00 : SL runs vomiting out smoke. */ +/* by Toyoda Masashi 1992/12/11 */ + +#include +#include +#include +#include +#include +#include + + +#include "../../includes/sl.h" + +void add_smoke(int y, int x); +void add_man(int y, int x); +int add_C51(int x); +int add_D51(int x); +int add_sl(int x); +void option(char *str); +int my_mvaddstr(int y, int x, char *str); + +int ACCIDENT = 0; +int LOGO = 0; +int FLY = 0; +int C51 = 0; + +int my_mvaddstr(int y, int x, char *str) +{ + for ( ; x < 0; ++x, ++str) + if (*str == '\0') return ERR; + for ( ; *str != '\0'; ++str, ++x) + if (mvaddch(y, x, *str) == ERR) return ERR; + return OK; +} + +void option(char *str) +{ + extern int ACCIDENT, LOGO, FLY, C51; + + while (*str != '\0') { + switch (*str++) { + case 'a': ACCIDENT = 1; break; + case 'F': FLY = 1; break; + case 'l': LOGO = 1; break; + case 'c': C51 = 1; break; + default: break; + } + } +} + + + + +int add_sl(int x) +{ + static char *sl[LOGOPATTERNS][LOGOHEIGHT + 1] + = {{LOGO1, LOGO2, LOGO3, LOGO4, LWHL11, LWHL12, DELLN}, + {LOGO1, LOGO2, LOGO3, LOGO4, LWHL21, LWHL22, DELLN}, + {LOGO1, LOGO2, LOGO3, LOGO4, LWHL31, LWHL32, DELLN}, + {LOGO1, LOGO2, LOGO3, LOGO4, LWHL41, LWHL42, DELLN}, + {LOGO1, LOGO2, LOGO3, LOGO4, LWHL51, LWHL52, DELLN}, + {LOGO1, LOGO2, LOGO3, LOGO4, LWHL61, LWHL62, DELLN}}; + + static char *coal[LOGOHEIGHT + 1] + = {LCOAL1, LCOAL2, LCOAL3, LCOAL4, LCOAL5, LCOAL6, DELLN}; + + static char *car[LOGOHEIGHT + 1] + = {LCAR1, LCAR2, LCAR3, LCAR4, LCAR5, LCAR6, DELLN}; + + int i, y, py1 = 0, py2 = 0, py3 = 0; + + if (x < - LOGOLENGTH) return ERR; + y = LINES / 2 - 3; + + if (FLY == 1) { + y = (x / 6) + LINES - (COLS / 6) - LOGOHEIGHT; + py1 = 2; py2 = 4; py3 = 6; + } + for (i = 0; i <= LOGOHEIGHT; ++i) { + my_mvaddstr(y + i, x, sl[(LOGOLENGTH + x) / 3 % LOGOPATTERNS][i]); + my_mvaddstr(y + i + py1, x + 21, coal[i]); + my_mvaddstr(y + i + py2, x + 42, car[i]); + my_mvaddstr(y + i + py3, x + 63, car[i]); + } + if (ACCIDENT == 1) { + add_man(y + 1, x + 14); + add_man(y + 1 + py2, x + 45); add_man(y + 1 + py2, x + 53); + add_man(y + 1 + py3, x + 66); add_man(y + 1 + py3, x + 74); + } + add_smoke(y - 1, x + LOGOFUNNEL); + return OK; +} + + +int add_D51(int x) +{ + static char *d51[D51PATTERNS][D51HEIGHT + 1] + = {{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL11, D51WHL12, D51WHL13, D51DEL}, + {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL21, D51WHL22, D51WHL23, D51DEL}, + {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL31, D51WHL32, D51WHL33, D51DEL}, + {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL41, D51WHL42, D51WHL43, D51DEL}, + {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL51, D51WHL52, D51WHL53, D51DEL}, + {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7, + D51WHL61, D51WHL62, D51WHL63, D51DEL}}; + static char *coal[D51HEIGHT + 1] + = {COAL01, COAL02, COAL03, COAL04, COAL05, + COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL}; + + int y, i, dy = 0; + + if (x < - D51LENGTH) return ERR; + y = LINES / 2 - 5; + + if (FLY == 1) { + y = (x / 7) + LINES - (COLS / 7) - D51HEIGHT; + dy = 1; + } + for (i = 0; i <= D51HEIGHT; ++i) { + my_mvaddstr(y + i, x, d51[(D51LENGTH + x) % D51PATTERNS][i]); + my_mvaddstr(y + i + dy, x + 53, coal[i]); + } + if (ACCIDENT == 1) { + add_man(y + 2, x + 43); + add_man(y + 2, x + 47); + } + add_smoke(y - 1, x + D51FUNNEL); + return OK; +} + +int add_C51(int x) +{ + static char *c51[C51PATTERNS][C51HEIGHT + 1] + = {{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH11, C51WH12, C51WH13, C51WH14, C51DEL}, + {C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH21, C51WH22, C51WH23, C51WH24, C51DEL}, + {C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH31, C51WH32, C51WH33, C51WH34, C51DEL}, + {C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH41, C51WH42, C51WH43, C51WH44, C51DEL}, + {C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH51, C51WH52, C51WH53, C51WH54, C51DEL}, + {C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7, + C51WH61, C51WH62, C51WH63, C51WH64, C51DEL}}; + static char *coal[C51HEIGHT + 1] + = {COALDEL, COAL01, COAL02, COAL03, COAL04, COAL05, + COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL}; + + int y, i, dy = 0; + + if (x < - C51LENGTH) return ERR; + y = LINES / 2 - 5; + + if (FLY == 1) { + y = (x / 7) + LINES - (COLS / 7) - C51HEIGHT; + dy = 1; + } + for (i = 0; i <= C51HEIGHT; ++i) { + my_mvaddstr(y + i, x, c51[(C51LENGTH + x) % C51PATTERNS][i]); + my_mvaddstr(y + i + dy, x + 55, coal[i]); + } + if (ACCIDENT == 1) { + add_man(y + 3, x + 45); + add_man(y + 3, x + 49); + } + add_smoke(y - 1, x + C51FUNNEL); + return OK; +} + + +void add_man(int y, int x) +{ + static char *man[2][2] = {{"", "(O)"}, {"Help!", "\\O/"}}; + int i; + + for (i = 0; i < 2; ++i) { + my_mvaddstr(y + i, x, man[(LOGOLENGTH + x) / 12 % 2][i]); + } +} + + +void add_smoke(int y, int x) +#define SMOKEPTNS 16 +{ + static struct smokes { + int y, x; + int ptrn, kind; + } S[1000]; + static int sum = 0; + static char *Smoke[2][SMOKEPTNS] + = {{"( )", "( )", "( )", "( )", "( )", + "( )" , "( )" , "( )" , "()" , "()" , + "O" , "O" , "O" , "O" , "O" , + " " }, + {"(@@@)", "(@@@@)", "(@@@@)", "(@@@)", "(@@)", + "(@@)" , "(@)" , "(@)" , "@@" , "@@" , + "@" , "@" , "@" , "@" , "@" , + " " }}; + static char *Eraser[SMOKEPTNS] + = {" ", " ", " ", " ", " ", + " " , " " , " " , " " , " " , + " " , " " , " " , " " , " " , + " " }; + static int dy[SMOKEPTNS] = { 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 }; + static int dx[SMOKEPTNS] = {-2, -1, 0, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 3, 3, 3 }; + int i; + + if (x % 4 == 0) { + for (i = 0; i < sum; ++i) { + my_mvaddstr(S[i].y, S[i].x, Eraser[S[i].ptrn]); + S[i].y -= dy[S[i].ptrn]; + S[i].x += dx[S[i].ptrn]; + S[i].ptrn += (S[i].ptrn < SMOKEPTNS - 1) ? 1 : 0; + my_mvaddstr(S[i].y, S[i].x, Smoke[S[i].kind][S[i].ptrn]); + } + my_mvaddstr(y, x, Smoke[sum % 2][0]); + S[sum].y = y; S[sum].x = x; + S[sum].ptrn = 0; S[sum].kind = sum % 2; + sum ++; + } +} + + + +// int main(int argc, char *argv[]) +void sl_bootstrap(const char *script) +{ + + int x; + + if (strcmp(script, "sl") == 0){ + + initscr(); + signal(SIGINT, SIG_IGN); + noecho(); + curs_set(0); + nodelay(stdscr, TRUE); + leaveok(stdscr, TRUE); + scrollok(stdscr, FALSE); + + for (x = COLS - 1; ; --x) { + if (LOGO == 1) { + if (add_sl(x) == ERR) break; + } + else if (C51 == 1) { + if (add_C51(x) == ERR) break; + } + else { + if (add_D51(x) == ERR) break; + } + + getch(); + refresh(); + usleep(40000); + } + + mvcur(0, COLS - 1, LINES - 1, 0); + endwin(); + + } + +} +/* + * + *for (i = 1; i < argc; ++i) { + *if (*argv[i] == '-') { + *option(argv[i] + 1); + *} + *} + * + */ + + + + + + + + +