広告
Ncurses(*1)を使ってスクリーン制御してみる。
(*1)
CUIでスクリーン、キー入力、カーソルなどの制御機能を提供するライブラリのこと。
make menuconfig とか実行すると出てくるアレを実現できる。
ソースコード
sample.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#include <curses.h> #include <stdlib.h> #define ESCAPE 27 typedef enum { COLOR_TYPE_INVALID = 0, COLOR_TYPE_BACK_GROUND = 1 } color_type_t; void init_curses() { initscr(); start_color(); init_pair(COLOR_TYPE_BACK_GROUND, COLOR_RED, COLOR_BLACK); curs_set(0); noecho(); keypad(stdscr,TRUE); } int main() { init_curses(); bkgd(COLOR_PAIR(COLOR_TYPE_BACK_GROUND)); move(2,1); printw("Press ESC key, you will exit."); refresh(); int key; while(1) { int key = getch(); if (key == ESCAPE) { break; } refresh(); }; endwin(); return 0; } |
実行結果
1 2 |
$ gcc sample.c -o sample -lcurses $ ./sample |
Ncursesを使ってテトリスぐらいなら作れそう。
広告
広告