前言: 最好的ncurses教程是 ncurses HOWTO,网上有中文版
编译ncurses引用的程序,需要加编译参数 -lncurses
并在.c文件中包含 ncurses.h头文件
1. 启动ncurses
initscr(); 结束ncurse
endwin();
2. 判断是否支持彩色
has_color();
3. 进入无缓存模式
raw();
noecho();
4. 获取输入键值
getch();
例子:
/** @file engine.c
* created by xx, 2013-09-25
*
* Definition of ncurses related functions
*
* This file presents ncurses implements functions of game's
* graphics
*/ #include <ncurses.h>
#include "engine.h" /** @function engine_init
*
* This function init ncurses configurations
*/ void engine_init()
{
//if(isColorEnabled() == TRUE)
//{
// console support color mode
// do something when it support color
//} //start ncurse
int ch=0;
initscr();
raw();
noecho();
printw("hello!\n");
refresh(); while( (ch=getch()) != '\n' )
{
addch(ch);
refresh();
}
} static int isColorEnabled()
{
return has_colors();
} /** @function engine_shut
* This function will shutdown mcurse
*/ void engine_shut()
{
endwin();
}
6. 判断当前console是否满足最小窗口大小
int win_row=0;
int win_col=0;
getmaxyx(stdscr, win_row, win_col); if(win_row < MIN_ROW || win_col < MIN_COL)
{
game_abort("YOUR CONSOLE IS SMALLER THAN MIN WINDOW THE GAME NEEDED!");
}