商城网站制作网站,wordpress英文改中文,黑色网站欣赏,深圳比较出名的外贸公司一、为什么要用nurse C语言中的gets()、scanf()、getchar()等函数是在用户输入后需要按下Enter键才能执行代码#xff0c;而贪吃蛇要求按下按键后立即对蛇的方向进行操作#xff0c;所以根据贪吃蛇功能的需求引入ncurse#xff0c;让用户输入后就能让蛇进行对应的行动。 二、…一、为什么要用nurse C语言中的gets()、scanf()、getchar()等函数是在用户输入后需要按下Enter键才能执行代码而贪吃蛇要求按下按键后立即对蛇的方向进行操作所以根据贪吃蛇功能的需求引入ncurse让用户输入后就能让蛇进行对应的行动。 二、ncurse的使用
查看ncurse宏定义
vi /usr/include/curses.h 输入/KEY_UP查找上下左右键功能键的函数 使用这些功能键时必须要用keypad设置功能键
keypad(stdscr,1); //stdscr表示从标准屏幕接收功能键参数1代表是否接收“是”
char为1个字节最多能表示128而宏定义中表示功能键的数大于128所以要用字节更大的int4字节 #include curses.hint main(){int key;initscr();keypad(stdscr,1);while(1){key getch();printw(you input:%c\n,c);}endwin();return 0;
}
光有这些代码在输入↑ ↓ ← →这些按键时只会输出上面的数字0402……我们可以使用switch函数让其输出更具可读性的提示。
#include curses.hint main(){int key;initscr();keypad(stdscr,1);while(1){key getch();switch(key){case 0402:printw(DOWN);case 0403:printw(UP);case 0404:printw(LEFT);case 0405:printw(RIGHT);}}endwin();return 0;
}
也可以用ncurse中的宏定义 #include curses.hint main(){int key;initscr();keypad(stdscr,1);while(1){key getch();switch(key){case KEY_DOWN:printw(DOWN);case KEY_UP:printw(UP);case KEY_LEFT:printw(LEFT);case KEY_RIGHT:printw(RIGHT);}}endwin();return 0;
}