社区
C语言
帖子详情
“上下左右”4个方向键的ASCII码是不是24,25,26,27 ?
dislimit
2003-11-09 09:30:00
“上下左右”4个方向键的ASCII码是不是24,25,26,27 ?
如果不是又如何使程序在用户键入方向键时作出相应的响应?(最好不用加回车键就送入缓冲区,我在写一个迷宫游戏)
...全文
3983
14
打赏
收藏
“上下左右”4个方向键的ASCII码是不是24,25,26,27 ?
“上下左右”4个方向键的ASCII码是不是24,25,26,27 ? 如果不是又如何使程序在用户键入方向键时作出相应的响应?(最好不用加回车键就送入缓冲区,我在写一个迷宫游戏)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shenyiwen
2003-11-12
打赏
举报
回复
如果是在terminal下可用curses库, 如果是图形界面则由使用的toolkit (如Qt, gtk等) 定义
zming
2003-11-11
打赏
举报
回复
“↑↓←→”键的键值不是ASCII码,是扫描码。
在Unix下,十年前我们使用Curses库与Termcap库来做字符终端的TTY编程
(Vi即使用这种方式),现在发展了,在Linux下我不知道用什么更新的方法。
Curses编程中,键盘上所有的键通过Termcap进行了键值映射(如果系统
支持这种终端的话),并使用Curses库中的getch()来获得键值(整型数)。
在Curses库的,方向键的定义为:
KEY_UP 0403 /* ↑ */
KEY_DOWN 0402 /* ↓ */
KEY_LEFT 0404 /* ← */
KEY_RIGHT 0405 /* → */
下面是一段Curses编程的例子,需要 -lcurses 以链接Curses库:
#include <curses.h>
main()
{
int x, y;
int ch;
x = y = 1;
initscr();
cbreak();
nonl();
noecho();
intrflush(stdscr,FALSE);
keypad(stdscr,TRUE);
refresh();
do
{
ch = getch();
switch ( ch ) {
case KEY_UP : y--; break;
case KEY_DOWN : y++; break;
case KEY_LEFT : x--; break;
case KEY_RIGHT : x++; break;
case 27 : /* ESC键 */
endwin();
exit(0);
}
move(x, y);
}
}
dislimit
2003-11-11
打赏
举报
回复
在控制台下好像无法获得方向键.
getchar()得不到这些键值.只是光标会做相应得移动.
请问
#define VK_LEFT 0x25 //=37
#define VK_UP 0x26 //=38
#define VK_RIGHT 0x27 //=39
#define VK_DOWN 0x28 //=40
这些值是什么编码?符合标准C吗?
我在LINUX下用EMACS,GCC和GDB编程,如何让程序对方向键作出响应?
(请介绍一下具体实现方式)
谢谢!
simclock
2003-11-10
打赏
举报
回复
为了用着方便,看着明白啊。不用也行,不过你得老记得0x25。。。。。。。
dislimit
2003-11-10
打赏
举报
回复
不知我说得对不对:
#define VK_LEFT 0x25 //=37
#define VK_UP 0x26 //=38
#define VK_RIGHT 0x27 //=39
#define VK_DOWN 0x28 //=40
可是37 38 39 40 按ASCII码 ,是‘%’之类的东西。
如果这不是ASCII码,那又是什么编码?
编译器如何识别你用得是哪种编码?
我用得是LINUX下的标准库,这样实现可以吗?
dislimit
2003-11-10
打赏
举报
回复
谁能告诉我,紧急!~
dislimit
2003-11-09
打赏
举报
回复
那么请问为什么上述宏定义能够表示方向键?
iidj
2003-11-09
打赏
举报
回复
用getche()行吗?
#define VK_LEFT 0x25
#define VK_UP 0x26
#define VK_RIGHT 0x27
#define VK_DOWN 0x28
晨星
2003-11-09
打赏
举报
回复
上下左右键没有“Ascii”码。
Ascii码是一套编码标准,并不是键盘上的每一个键都有Ascii码。
yuantao
2003-11-09
打赏
举报
回复
直接调用中断,在dos下是这样
int具体的端口忘了
dislimit
2003-11-09
打赏
举报
回复
getchar()要获得字符,必须敲回车才能将字符输入缓冲区,如何在按下方向键的时候就让程序响应?(如游戏中相应的移动)
其实现原理?
dislimit
2003-11-09
打赏
举报
回复
对不起,能否详细解释一下,我是菜鸟。^_^
zxb3235
2003-11-09
打赏
举报
回复
对!!!!!
fireseed
2003-11-09
打赏
举报
回复
#define VK_LEFT 0x25
#define VK_UP 0x26
#define VK_RIGHT 0x27
#define VK_DOWN 0x28
键盘
ascII码
对应值
本文档包括所有asc码对应的值,希望能帮助需要的人
键盘按键对应的
ASCII码
值
键盘按键对应的
ASCII码
值,其实没什么内容
常用
ASCII码
表对照表.doc
常用
ASCII码
表对照表.doc
js键盘
上下左右
键怎么触发function(实例讲解)
主要是对js键盘
上下左右
键怎么触发function 进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
ASCII表详细
ASCII表详细
C语言
70,020
社区成员
243,265
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章