C语言-模拟金山打字通详解#include <stdio.h>,今天小编就来聊一聊关于c语言速通?接下来我们就一起去研究一下吧!

c语言速通(C语言-模拟金山打字通详解)

c语言速通

C语言-模拟金山打字通详解

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#include <conio.h>

#include <windows.h>

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)//1.定坐标

{

HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//2.给你一张白纸

COORD pos={x,y};//3.点的结构体,初始化坐标x和y 确定坐标

SetConsoleCursorPosition(hout,pos);//4.设置控制平台光标位置

}

void play()

{

int x,y,i,j;//x,y是坐标==往下掉的坐标,i,j是数组的行和列==确定随机哪个字母

char ch;//用来接收随机产生的字母

char cur;//用来接收按下的键盘字母

srand((unsigned)time(0));//随机种子

i=rand()%3;//行从0-2的随机数

j=rand()%(9-i);//列的随机数

ch=arr[i][j*4];//随机产生的字母

x=18 i*2 j*4;//自定义从18开始

y=7;

while(y<=19)

{

if(kbhit())//如果按下键盘

{

cur=getch();

if(cur==ch||cur==ch 32)

ch = ' ';

}

if(y>7)//去尾巴

{

GamePosition(x,y-1);

printf(" ");

}

GamePosition(x,y);

printf("%c",ch);

Sleep(100);

y ;

}

}

int main()

{

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,20);

printf("==================================");

while(1)

play();

return 0;

更多C语言技术关注 "ITjob远标培训"

,