类似于学习机上的指法练习程序,简单而实用 #include<time.h> main() { int x,y,i,j; unsigned int Timer; char ch; char key; char *kb[]={"Q W E R T Y U I O P [ ]","A S D F G H J K L ; ’","Z X C V B N M , . /"}; long AllCounter=0,RightCounter=0,FalseCounter=0; time_t t; int fun_Esc(); srand((unsigned)time(&t)); clrscr(); gotoxy(18,1); printf("%s\n",kb[0]); gotoxy(20,3); printf("%s\n",kb[1]); gotoxy(22,5); printf("%s\n",kb[2]); gotoxy(11,25); for(i=0;i<60;i++) { printf("="); } gotoxy(1,1); printf("AllCh: %ld\nRight: %ld\nFalse: %ld",AllCounter,RightCounter,FalseCounter); printf("\n\n"); printf("Esc to exit"); printf("\n"); printf("Enter to pause"); gotoxy(26,12); printf("* * * * * * * * * * * * * * *"); gotoxy(26,13); printf("* Press any key to start! *"); gotoxy(26,14); printf("* * * * * * * * * * * * * * *"); gotoxy(51,13); if(getch()==27) { if(fun_Esc()==1) { clrscr(); exit(0); } } gotoxy(23,12); printf(" "); gotoxy(23,13); printf(" "); gotoxy(23,14); printf(" "); lab_start: y = 6; Timer = 100000; i = rand()%3; j = rand()%(12-i); ch = kb[i][j*4]; x = 18+i*2+j*4; while(y<=24) { if(kbhit()) { key = getch(); if(key==ch || key==ch+32) { ch = ’*’; Timer = 1000; } else if(key==27) { if(fun_Esc()==1) { clrscr(); exit(0); } } else if(key==’\r’) { gotoxy(x,y-1); printf(" "); gotoxy(28,13); printf("Press any key to continue"); getch(); gotoxy(28,13); printf(" "); } else { FalseCounter++; } } if(y>6) { gotoxy(x,y-1); printf(" "); } gotoxy(x,y); printf("%c",ch); gotoxy(1,1); printf("AllCh: %ld\nRight: %ld\nFalse: %ld",AllCounter,RightCounter,FalseCounter); delay(Timer); y++; } AllCounter++; if(ch == ’*’) { RightCounter++; } goto lab_start; } int fun_Esc() { int key = ’#’; gotoxy(24,12); printf("* * * * * * * * * * * * * * * * *"); gotoxy(24,13); printf("* Are you sure to exit? (Y/N) *"); gotoxy(24,14); printf("* * * * * * * * * * * * * * * * *"); gotoxy(51,13); while(key!=’Y’ && key!=’y’ && key!=’N’ && key!=’n’) { key = getch(); if(key==’Y’ || key==’y’) { return 1; } if(key==’N’ || key==’n’) { gotoxy(24,12); printf(" "); gotoxy(24,13); printf(" "); gotoxy(24,14); printf(" "); return 0; } } }
|