《一个练习打字的游戏小编程.doc》由会员分享,可在线阅读,更多相关《一个练习打字的游戏小编程.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一个练习打字的游戏小编程文章类别:C语言程序设计 | 发表日期:2008-9-24 14:46:50收藏到QQ书签 -大家自己设三个或一个文本文件,内含1000个字符就行了,英文字母或其他字符都可以。谢谢指教!主函数在下面!介绍一下自定义函数的功能吧。自定义函数名称 函数功能 Background() 设置简单友好界面。 DEMO() 设置菜单供用户选择练习方式及退出。 Get_charater() 实现从用户指定文件随机抽取100个字符并显示在屏幕上供用户参照打字的功能 Typing() 程序的核心,实现了接受输入的字符、判定正误、计算练习成绩和时间等并显示在屏幕 特点:而主函数则非常简单,
2、只包含这四个要调用的函数。 这四个函数功能单一,且每个函数不超过50行,较好地满足设计风格。#include #include #include #include #include char string101; void Background() int driver=DETECT,mode; /*定义变量*/ int x1=20,y1=20,r=10,num; int x2=20,y2=450; int color1=10,color2=10; /*在此设置颜色,一改全改*/ initgraph(&driver,&mode,a:bgi ); /*初始化图形模式*/ setcolor(col
3、or1); /*步骤一、设置当前颜色用于绘图*/ for(num=0;num30;num+) circle(x1,y1,r); /*步骤二、使用当前颜色绘制一个闭合图形*/ setfillstyle(num%12,color1); /*步骤三、设置填充方式*/ floodfill(x1,y1,color1); /*步骤四、对闭合图形进行填充*/ x1+=20; delay(100); setcolor(color2); for(num=0;num30;num+) circle(x2,y2,r); setfillstyle(num%12,color2); floodfill(x2,y2,colo
4、r2); x2+=20; delay(100); setcolor(YELLOW); /*改变当前颜色,输出友好话*/ settextstyle(0,0,2); outtextxy(50,150,WELCOME TO THE TYPING WORLD!); setcolor(LIGHTMAGENTA); outtextxy(200,350,DESIGED BY HE ZHANG HONG); sleep(3); /*延时二秒观看结果*/ closegraph(); /*关闭图形*/ void DEMO() /*设置菜单函数*/ printf(_*_*_*_*_*_*_*_*_*_*_*_*_*
5、_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*n” ttt THE DEMO DISPLAY FOR THE FILE SYSTEMn n tt 1:PRATICE ONLY ENGLISH Characters.n tt 2:PRATICE OTHER Charcters.n tt 3:PRATICE ALL Charcters.n tt 4:QUIT AT ONCE!n n); void Get_character(void) /*设置得到字符函数*/ void Typing(); /*声明typing()函数*/ FILE *in; int i,t,choice
6、; char ch; t=abs(time(0)%700; /*获取随机数来指定下面指针的位*/ printf(nPLEASE ENTER YOUR CHOICE:); choice=getch(); clrscr(); /*清屏*/ switch(choice) /*选择不同打开文件来打不同的字符*/ case 1: in=fopen(english.txt,r); break; case 2: in=fopen(others.txt,r); break; case 3: in=fopen(type all.txt,r); break; case 4: exit(1);break; fsee
7、k(in,t*1l,0); fgets(string,101,in); printf(n); printf(*); for(i=0;i100;i+) putchar(stringi); printf(n); printf(*); fclose(in); printf(LETS BEGIN TYPING,OK?Y/N); printf(n); ch=getch(); if(ch=n|ch=N) /*判定是否练习打字*/ exit(0); else if(ch=y|ch=Y) Typing(); void Typing(void) /*设置打字(包括计算其他结果)函数*/ int i,j,Righ
8、t_char=0,Wrong_char=0,Sum_char=0; float Speed,Timeused,Right_rate; char absorb_char,ch_1,ch_2,ch_3; time_t star,stop; /*定义time变量,获取系统时间并显示在屏幕上*/ time(&star); printf(n); printf(time begin:%s,ctime(&star); i=0; absorb_char=getchar(); /*接受键盘输入的字符并在下面的while语句判定正 错和计算结果*/ while(absorb_char!=n&i100) if(ab
9、sorb_char=stringi) Right_char+; Sum_char+; else Wrong_char+; Sum_char+; i+; absorb_char=getchar(); time(&stop); Timeused=difftime(stop,star); /*利用difftime()函数输出所用时间*/ Right_rate=(float)Right_char/(float)Sum_char*100; Speed=(Sum_char/Timeused)*60; printf(time end:%s,ctime(&stop); /*下面显示分数*/ printf(*#
10、YOUR SCORE!#*); printf( 1: TOTAL TIME USED:%.3fn,Timeused); printf( 2: YOU HAVE TYPED:%dn,Sum_char); printf( 3: Typing Right_Characters are:%dn,Right_char); printf( 4: Typing Wrong_Characters are:%dn,Wrong_char); printf( 5: YOUR TYPING SPEED IS :%.2fminn,Speed); printf( 6: YOUR TYPING RIGHT_RATE IS
11、:%.2f%n,Right_rate); printf(*#YOUR SCORE!#*); if(Speed=50|Right_rate=80) /*询问用户是否重来一遍*/ printf( NOT VERY GOOD!n TRY IT AGAIN,OK?Y/Nn); ch_2=getch(); if(ch_2=n|ch_2=N) exit(0); else if(ch_2=y|ch_2=Y) clrscr(); DEMO(); /*分别调用函数重来一遍*/ Get_character(); Typing(); exit(0); else printf( WELL DONE!n ONE MORE TIME?Y/Nn); /*询问用户是否重来一遍*/ ch_3=getch(); if(ch_3=n|ch_3=N) exit(0); else if(ch_3=y|ch_3=Y) clrscr(); DEMO(); /*分别调用函数重来一遍*/ Get_character(); Typing(); exit(0); main(void) /*主函数包含四个要调用的函数*/ Background(); DEMO(); Get_character(); Typing();本文章来自 21视频教程网 一个练习打字的游戏小编程_C语言程序设计教程 原文链接:
限制150内