西安做网站公司魔盒/企业网络营销策划书
Ncurse库
程序用到了一个Ncurse库,由于C语言本身自带的可以获取用户输入的函数例如getchar()\scanf()\gets()等需要我们再在输入完成以后按回车才能结束输入,对我们的程序带来了不便,所以我们用Ncurse库来实现对蛇进行实时的响应和界面的刷新,具体介绍和安装请自行百度。
下面试一些Ncurse使用例子:
#include <curses.h> //头文件int main()
{initscr();//ncurse界面初始化函数printw("This is acurses window.\n");//ncurse下的printfgetch();//等待用户输入,如果没有这句话,程序就退出,看不到运行结果endwin();//程序退出,调用函数来恢复Shell终端的显示return 0;
}
执行结果:
在Linux中编译Ncurse程序时要加上-lcurses,如下:
gcc xxx.c -lcurses
ncurses输入输出
我们可以试着编写:
#include <curses.h>
#include <stdio.h>int main()
{char c;initscr();c = getch();putchar('\n');printw("You Input:%c.\n",c);getch();endwin();return 0;
}
执行结果:
ncurse上下左右键获取
在ncurse中使用,keypad();获取功能键的输入。
例:keypad(stdscr,1);
#include <curses.h>
#include <stdio.h>int main()
{int key;initscr();while(1){key = getch();printw("You Input:%d.\n",key);}endwin();return 0;
}
执行结果:
例二:
#include <curses.h>int main()
{int key;initscr();keypad(stdscr,1);while(1){key = getch();switch(key){case 0402:printw("DOWN\n");break;case 0403:printw("UP\n");break;case 0404:printw("LEFT\n");break;case 0405:printw("RIGHT\n");break;}}endwin();return 0;
}
执行结果: