c语言按键技巧,C语言如何定义一个按键?

推荐答案

fd21cd3d62ca9e1a1ec7481de3a7f439.png

whoami1978

来自团队: 快乐助人2020.04.06

fd21cd3d62ca9e1a1ec7481de3a7f439.png

采纳率:84%    等级:50

已帮助:245万人

你的这个与系统有关,在windows下可用以下程序

#include

#include

int main()

{

int n1,n2;

char c;

c=getch();

while(c!=27) //esc 退出程序

{

if (c=='a')  //'a' 注意大小写

{

n1++;

printf("n1=%d\n",n1);

}

if(c==1) //ctrl+A

{

n2+=2;

printf("n2=%d\n",n2);

}

c=getch();

}

return 0;

}追问:我想要的不是这样的,是那种,可以用作游戏上的,

就像贪吃蛇那样,我按了 ↑ 键,程序会有一定的反应,按了 ↓ 键也同样的那种,不是像您所弄的那样,会阻塞住程序直到我按下回车键,不过还是谢谢您的回答。

追答:这个一般可用(命令行方式)kbhit()+getch()实现,如:

#include

#include

#define UP 72

#define DOWN 80

#define LEFT 75

#define RIGHT 77

#define ESC 27

int main()

{

int loop=1;

while(loop)

{

if (kbhit())

{

switch(getch())

{

case UP:

printf("up\n");

break;

case DOWN:

printf("down\n");

break;

case RIGHT:

printf("right\n");

break;

case LEFT:

printf("left\n");

break;

case ESC:

printf("bye!\n");

loop=0;

break;

}

}

}

return 0;

}

当然,winodws下,还可以用GetAsyncKeyState

若有消息处理函数,可用WM_KEY消息

C可以做任何软件的(很多大型游戏就是用C或C++写的)

追问:能详细讲解一下这个程序吗?

能加一下QQ吗?想在以后拜托您帮忙点解一下。

下面的就是我的QQ加好友链接。

fromId=45&fromSubId=1&subcmd=all&uin=1521713338

00分享举报

此回答由管理员  柳成荫2020   推荐为最佳回答。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值