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(“%sn”,arr[0]);

GamePosition(20,4);

printf(“%sn”,arr[1]);

GamePosition(22,6);

printf(“%sn”,arr[2]);

GamePosition(11,20);

printf(“==================================”);

while(1)

play();

return 0;

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年2月12日
下一篇 2017年2月12日

相关推荐