代码拉取完成,页面将自动刷新
同步操作将从 charlieshu/Algorithms 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include<iostream>
#include<bitset>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下来的
using namespace std;
void color(int a){//改变输出的颜色,比system("color x")快得多
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
bitset<30>down;//记录当前键盘按下状态
bitset<30>pre;//记录前一时刻键盘按下状态
void check(char c){//检测某个按键是否按下,按下就改变一下变量
if(!KEY_DOWN(c))down[c-'A']=0;
else down[c-'A']=1;
}
void print_letter(char c){
if(!down[c-'A'])color(7);
else color(112);
printf(" %c ",c);
color(7);
}
void print(){
system("cls");//清屏
print_letter('Q');print_letter('W');print_letter('E');print_letter('R');print_letter('T');print_letter('Y');print_letter('U');print_letter('I');print_letter('O');print_letter('P');
printf("\n\n ");
print_letter('A');print_letter('S');print_letter('D');print_letter('F');print_letter('G');print_letter('H');print_letter('J');print_letter('K');print_letter('L');
printf("\n\n ");
print_letter('Z');print_letter('X');print_letter('C');print_letter('V');print_letter('B');print_letter('N');print_letter('M');
}
int main(){
print();
while(1){
pre=down;
for(int i=0; i<26; i++){
check(char('A'+i));
}
if(down!=pre)print();//检测到按键状态变化再打印
Sleep(20);//循环时间间隔,防止太占内存
}
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。