C++俄罗斯方块方向键

刚刚我把方位键调好了,就是上下左右键的设置。之前不知道,上网翻阅,以为是要学习一些winAPI函数才能去使用方位键,其实不然。 方位键其实进一步了解控制键的键值就可以解决问题了。 方位键,属于控制键一类,因为需要,它们的设定和普通的字符有所不同。普通字符按下,就是一个字符产生,而控制键,产生的是两个连续的字符。就是说按一下控制键,就是发出两个字符,也就是说键盘缓冲区里有两个字节的数据处于等待中。其中需要知道的是,产生的两个字符中的第一个必须是代表着控制键的字符,即规定的0XE0, 即十进制的224. 譬如: 按下向左键,立刻生成 代表控制键的0XE0 和 特指向左的0X4B这两个字符。 所以当我们想要使用控制键的时候,我们要先对获得的字符进行判断,是否为控制符类型,倘若是,则读取下一个字符,判断得知代表的具体的控制符。 用代码简单的解释:

const unsigned char CTRL_KEY = 0XE0;
const unsigned char LEFT = 0X4B;
const unsigned char RIGHT = 0X4D;
const unsigned char DOWN = 0X50;
const unsigned char UP = 0X48;

int main(void)
{
int flag = 0;
while(TRUE)
{
if (flag)
{
switch(getch())
{
case LEFT : printf(“LEFT\n”); break;
case RIGHT : printf(“RIGHT\n”); break;
case DOWN : printf(“DOWN\n”); break;
case UP : printf(“UP\n”); break;
default : break;
}
}
else
{
if (getch() == CTRL_KEY)
flag = 1;
}
}
return 0;
}

include

include

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值