上下左右箭头 产生的键值是双键值,具体数值与你的键盘 设置 有关。有可能 是 十进制 224 72 -- 上 224 80 -- 下 224 75 -- 左 224 77 -- 右 编程序,用 int key = getch(); 读 一个键值,如果 它等于 224, 则 再 读 一个键值 key2 = getch();如果 k...
} 分别是上下左右键的键值。 其次,控制台读取方向键指令 方法一 //捕捉键值#include<stdio.h>#include<conio.h>intmain() {intch;while( (ch=getch())!=0x1B)/*Press ESC to quit...*/{switch(ch) {case0xE0:switch(ch=getch()) {case72: printf("UP\n");break;case80: printf("DOWN\n");...
} 分别是上下左右键的键值。 其次,控制台读取方向键指令 方法一 //捕捉键值#include<stdio.h>#include<conio.h>intmain() {intch;while( (ch=getch())!=0x1B)/*Press ESC to quit...*/{switch(ch) {case0xE0:switch(ch=getch()) {case72: printf("UP\n");break;case80: printf("DOWN\n");...
用百度查一下"键盘扫描码",有解释,这里几句话说不清。它是一个16位码,分高8位和低8位,而getch()一次只能接收1个8位。向上的光标键的扫描码是0x48e0,H的扫描码是0x0048,在getch()的接收状态,如果输入H则接收到48,如果敲向上的光标键则收到e0,需要再次执行getch()才能读到48 ...
光标键需要使用扩展的键盘扫描码来判断,方法需要根据具体使用的函数来决定。以getchar()来说,如果返回值为0,则表示用户按了一个扩展键,而这个键没有对应的标准ASCII码,此时必须再次调用getchar(),这一次的返回值是该键的扫描码。对于上下左右四个键,这个扫描码分别是:0x26、0x28、0x25、0x27...
键盘上输入的每一个键都有个键值(ASCII码值),通过人为检测输入的键值可以判断出输入键是什么键.如 回车键(ENTER)的值是13.同样,左右上下的键也有一个值.回到LZ的问题:程序输入时,通过循环检测输入的键值,如果是左键,就把输出对象的坐标(x,y)改变成(x-Delete,y)(Delete的值按自己需要而定.如果...
左是 0x4b00 右是 0x4d00 上是 0x4800 下是 0x5000 我空间里有一个贪吃蛇的程序,用的是C,里面有这个.我用的编译器是win-tc,这个程序能玩
getch()函数,不带回显,在conio.h中
方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h> .void intokey( ){ int flag;if ( kbhit( ) ) //判断有键按下时才执行下面的操作 { flag = getch( ); //用flag来获取键值 if (flag...