ncurses中经常使用的API

用ncurses开发了一个基于shell的贪吃蛇,在这里列出用的API即后续改进可能需要的函数:


对于addch()和addstr(),我们经常会要求输出的字符带有某些特性,比如说颜色或者加粗,这时我们就需要给函数传递参数。比如:

addch(ch | A_BOLD | A_UNDERLINE);
输出加粗并且有下划线的ch。
基本属性包含在ncurses.h头文件中,有:
    A_NORMAL         Normal display (no highlight)
    A_STANDOUT      Best highlighting mode of the terminal.
    A_UNDERLINE      Underlining
    A_REVERSE        Reverse video
    A_BLINK           Blinking
    A_DIM            Half bright
    A_BOLD           Extra bright or bold
    A_PROTECT       Protected mode
    A_INVIS           Invisible or blank mode
    A_ALTCHARSET    Alternate character set
    A_CHARTEXT      Bit-mask to extract a character
    COLOR_PAIR(n)    Color-pair number n 
attron(), attroff()可以打开和关闭属性功能。
mvaddch(row,col,ch)可以在指定的坐标(row,col)处显示ch.
ncurses中最重要的概念是窗口,哪怕需要最简单的界面,你都需要借助于窗口。一个更好的作品需要一个好的界面,newwin()创建一个窗口,实际上屏幕并没有任何不同,因为此时程序
只是分配了一定的内存而已。窗口只是一个抽象的概念。调用delwin()则可以释放分配的内存。
ncurses中有两个重要的宏变量,COLS,LINES。当我们调用initscr()后就会获得屏幕的大小。
色彩对于界面来说是很重要的,应该像如下使用色彩函数:
        if(has_colors() == FALSE)
	{	endwin();
		printf("Your terminal does not support color\n");
		exit(1);
	}
	start_color();			/* Start color 			*/
	init_pair(1, COLOR_RED, COLOR_BLACK);
头文件中定义相关的宏:
        COLOR_BLACK   0
        COLOR_RED     1
        COLOR_GREEN   2
        COLOR_YELLOW  3
        COLOR_BLUE    4
        COLOR_MAGENTA 5
        COLOR_CYAN    6
        COLOR_WHITE   7
如果想重新设置初始的颜色,可以:
    init_color(COLOR_RED, 700, 0, 0);
    /* param 1     : color name
     * param 2, 3, 4 : rgb content min = 0, max = 1000 */
curs_set(),可以设置光标的状态:
    0 : invisible      or
    1 : normal    or
    2 : very visible.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值