kumaコマンド作ってみた.
blコマンドを参考にkumaコマンドを作ってみた.特に後悔はしていない.
ソースは以下.
/* * Ubuntu 12.0.4: * cc -O -o kuma kuma.c -lncursesw -ltermcap * Mac OSX * cc -O -o kuma kuma.c -lncurses -ltermcap * */ #include <locale.h> #include <ncurses.h> #include <signal.h> #include <unistd.h> #define KUMA_WIDTH 24 #define KUMA_HIGHT 12 void main(int argc, char *argv[]) { int x, y, lines; setlocale(LC_ALL,""); initscr(); signal(SIGINT, SIG_IGN); noecho(); leaveok(stdscr, TRUE); scrollok(stdscr, FALSE); y = LINES/2; for(x = COLS-KUMA_WIDTH; x >=0; x--){ clear(); if(add_kuma(x, y) == ERR) break; refresh(); usleep(20000); if(x == 0) usleep(80000); } mvcur(0, COLS - 1, LINES - 1, 0); refresh(); usleep(100000); endwin(); } int add_kuma(int x, int y) { int s; char *str[12]; str[0] = " ∩___∩"; str[1] = " | ノ ヽ"; str[2] = " / ● ● | クマ──!!"; str[3] = " | ( _●_) ミ"; str[4] = "彡、 |∪| 、`\"; str[5] = " /_ ヽノ /´> )"; str[6] = "(__) / (_/"; str[7] = " | /"; str[8] = " | /\ \"; str[9] = " | / ) )"; str[10]= " ∪ ( \"; str[11]= " \_) "; for(s = 0 ;s < KUMA_HIGHT-1;s++){ if(mvaddstr(y+s, x, str[s]) == ERR) return ERR; } return 0; }