推荐答案
whoami1978
来自团队: 快乐助人2020.04.06
采纳率: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=%dn",n1);
}
if(c==1) //ctrl+A
{
n2+=2;
printf("n2=%dn",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("upn");
break;
case DOWN:
printf("downn");
break;
case RIGHT:
printf("rightn");
break;
case LEFT:
printf("leftn");
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 推荐为最佳回答。
本文发布于:2024-02-02 16:33:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170686280645043.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |