前言: 最好的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!");
}

  

05-11 18:30