#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int life=100;//losing count
int sleep=150;//the characters falling speed
char *arr[]={"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 , . /"
};
void GamePosition(int x,int y)//definetion position
{
COORD pos={x,y};//Indirect assignment to the points member varible
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//get a erasable & draw paper
SetConsoleCursorPosition(hout,pos);
}
int play(){
int x,y,i,j;//pos (x,y) row(i) col(j)
char ch;//to cls
char cur;//to accept input the button characters
srand((unsigned)time(NULL));
y=7;//initialization,
i=rand()%3;//rand 0-2
j=rand()%(9-i);//every line letters have diffrent number
ch=arr[i][j*4];
x=18+i*2+j*4;
while(y<=24)
{
if(y==24&&ch!=' ')
life--;
if(life==0)
return 0;
if(kbhit())
{
cur=getch();
if(cur==ch||cur==ch+32)//press correct
ch=' ';
else
life--;
}
if(y>7)
{
GamePosition(x,y-1);
printf(" ");
}
GamePosition(x,y);
printf("%c",ch);
Sleep(sleep);
y++;
}
return 0;
}
int main()
{
int i;
system("cls");
GamePosition(18,2);
printf("%s\n",arr[0]);
GamePosition(20,4);
printf("%s\n",arr[1]);
GamePosition(22,6);
printf("%s\n",arr[2]);
GamePosition(11,25);
for(i=0;i<60;++i)
{
printf("=");
}
while(1)
{
play();
}
return 0;
}
