概论2--简单打字游戏

来源:互联网 发布:淘宝优惠券baidu 编辑:程序博客网 时间:2024/06/09 12:25

#include <stdio.h>

#include <time.h>

#include <windows.h>

#include <conio.h>

 

int count=0;                  //打字个数              

char Date[128],Time[128];     //设定的日期和时间

char OSDate[128],OSTime[128]; //系统当前日期和时间

void CurrentTime();           //获取当前系统时间

void SetTime();               //用户设置练习时间

void TimeOut();               //时间到

void setCursorPos(int x,int y);//设置光标位置

void Start();

void End();

 

int main()

{

         char CharLib;

         int line,row; //光标位置

         char ch;  //接收用户输入

 

         Start();

         CurrentTime();

         SetTime();

 

         do

         {

                   system("cls");

                   _strtime( OSTime );

                   _strdate( OSDate );

                   if ((strcmp(Date,OSDate)==0)&&(strcmp(Time,OSTime)==0))

                   {

                            TimeOut();

                            break;

                   }

 

                   else

                   {

 

                            //随机产生的字符

                            srand(time(NULL));

                            CharLib = rand()%26+97;

                           

                            //随机的位置

                            line=0;

                            row = rand()%80;

                           

                            do

                            {       

                                     if(line>0)

                                     {

                                               setCursorPos(row,line - 1);

                                               putchar(' ');

                                     }

                                    

                                     setCursorPos(row,line);          

                                     printf("%c",CharLib);          

                                     Sleep(300); //移动速度

                                     line++;

                                     while(_kbhit())

                                     {

                                               ch = _getch();

                                     }

                                    

                                     if (ch == CharLib)

                                     {

                                               count++;

                                               break;

                                     }      

                            }while(ch != VK_ESCAPE);        

                   }//else

                  

         } while (1);

 

         End();

         putchar('/n');

         system("pause");

 

         return 0;

}

 

void Start()

{

         printf("欢迎使用打字练习程序!");

}

void End()

{

         printf("感谢您的使用!/n");

}

void CurrentTime()

{

         _strtime( OSTime );

         _strdate( OSDate );

         printf("现在时间:");

         puts(OSDate);

         puts(OSTime);

}

void SetTime()

{

         printf("请输入您想结束的日期(MM/DD//YY):");

         gets(Date);

         printf("请输入您想结束的时间(HH:MM:SS):");

         gets(Time);

}

void TimeOut()

{

         Beep(500,500);

         printf("时间到!/n");

         printf("您打字的个数为:%d/n",count);

}

void setCursorPos(int x,int y)

{

         COORD pos;

         pos.X = x;

         pos.Y = y;

         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);

}

原创粉丝点击