练习文章打字的编程

合集下载

C#打字练习程序任务书

C#打字练习程序任务书

河北联合大学《软件设计基础-C#》课程设计任务书学院班级设计人成绩一、题目:设计一个打字练习程序(※)二、目的与要求:1.目的:培养学生综合利用C#程序设计语言进行程序设计的能力,主要是培养学生利用系统提供的标准函数进行创新设计。

2.基本要求:(1)要求通过调用C#文操作函数来实现程序设计。

(2)完成的程序界面要美观,能够实现打字练习的整个过程。

3.创新要求:在基本要求达到后,进行创新设计,如对打字练习的时间限制,增加计分和排行等功能。

4.写出设计说明书三、设计方法和基本原理:1.问题描述:屏幕上显示从文件中读取的单词,提供文件使用者录入界面,如在指定时间内录入正确或超时,自动读取并显示下一个单词。

在一定时间内计算录入正确单词个数,计算积分。

2.问题的解决方案:根据问题描述,可以将问题解决分为三部分:(1)对文本文件的操作。

(2)对键盘事件的响应。

(3)对以上两部分操作的判断和综合处理。

四、主要技术问题的描述:根据以上介绍,可通过以下方法解决主要问题:1.从文本文件的读取数据,并将读取的单词显示与文本框或标签中。

2.通过对text控件的录入内容的检测,来判断用户的输入,如果输入正确或超时,则调入下一单词。

五、课程设计时间:2012年5月10日至2012年7月1日六、课程设计进行地点:学校机房七、书写设计报告的要求:设计报告中包含以下几个方面:1.设计题目2.设计思路①划分功能模块②确定各模块的算法3.用图示的方式给出过程或函数之间的调用关系4.列出程序清单,并加以必要的注释5.对该设计题目有何更完善的方案6.通过本次设计,有何收获及心得体会八、课程设计的考核方式及评分方法1.考核方式课程设计结束时,学生要提交课程设计报告(A4纸打印),并将电子文档和源程序上传至课程设计服务器中:ftp://210.31.197.23找到自已指导教师的文件夹后,进入班级文件夹,再找到自己的文件夹,然后将文档复制到该文件夹中即可。

C语言打字练习程序课程设计报告

C语言打字练习程序课程设计报告

青岛理工大学《C语言程序设计》题目打字练习程序指导教师:李兰老师姓名:学号:2011班级:专业:计算机科学地点:现代教育中心机房201时间:2012.6.26 至2012.6.29一、内容本程序主要实现的是对使用者的打字速度进行练习和提高。

因为界面友好亲和,因此能让使用者在轻松愉快中练习并快速提高自己的打字速度和准确性。

程序主要的功能有记录使用者在本次使用中的击中数和总下落字母的个数之比。

并且游戏设置了九个等级,随着数字的增加,等级越高,字母下落的速度逐步提高,这样能够更好的迎合不同水平的用户需求。

使用本程序很简单,因为在写代码时,我很注重的是界面的友好,所以,在用户的每次操作前,界面上都有详细的操作提醒,只要跟着提示输入就能很快速地进入并开始练习。

二、上机环境操作系统:windows XP(win7兼容)开发工具:VC6.0三、函数调用关系图四、各函数功能说明1、void main( ) 主函数2、void printScreen( ) 刷新屏幕函数3、int levelChoice( ) 游戏等级选择函数4、int newWord( ) 生成新字符函数5、int moving( ) 字符下降函数6、int wordHit( ) 击中字符函数7、int result ( ) 结果输出函数8、int start( ) 程序开始提示操作9、void leave( ) 函数结束五、流程图六、程序运行效果图七、总结通过这次的C语言课程设计,我对程序设计的过程有了很具体的认识,我明白了作为一个开发者应该具有坚持和吃苦耐劳的素质和乐于交流和共享的品德。

而且由于在程序设计和代码编写的时候,程序中用到的很多函数是我们在课堂上并没有接触到甚至是没有听说过的,因此我们还得大量地参考有关书籍,并且从互联网上查找函数等的相关信息。

与此同时,与同学的交流更是并不可少的,这个也是作为将来的一个开发者必须要具备的素质,那就是团队合作精神。

打字练习程序

打字练习程序

信息科学与技术学院微机原理与接口技术课程设计课题名称:打字练习程序学生姓名:学号:专业、年级:指导教师:时间:1、题目及要求:1.1、题目:打字练习程序1.2、要求:1)、缓冲区中预放了一些字母2)、运行时,可按照屏幕上显示的字母输入练习3)、当按结束,可显示出练习输入的时间,并且能显示出正确率。

4)、要求界面美观。

2、功能设计:2.1、功能模块:主程序模块-----主要是随机产生字符并将字符送入缓冲区,调用其他子程序和宏设置窗口及时间、字符总数和正确个数。

打字结果计算与显示模块( UseTimeAndOut,RightRata_out)-----主要计算所用时间及正确率并输出。

设置字符颜色模块(clew_char)-----主要设置打字时缓冲区字符和打字区字符的颜色,包括错误时字符的颜色显示。

字符满行处理模块(isFullLine)-----主要功能是当字符输入满行时进行换行。

输出模块(OutTime,btod_out)-----输出程序运行时的时间。

统计模块(Tongji)-----统计字符个数和正确个数并记录时间。

宏的作用:清屏(Clear)----- 用于按要求清理屏幕(不同颜色),以便产生想要的窗口。

设置光标位置(SETGB)-----用于移动光标位置,以便按要求输出。

读光标位置(READGB)-----用于读取当前光标位置。

提示(Tishi)-----用于输出提示语句。

2.2、功能图:图1 功能图3、详细设计:3.1、设计方法:根据设计要求,该课程设计只应用了些简单的函数调用,中断,宏调用。

其中随机产生字符的实现是通过调用中断(ah=2ch,int 10)取系统时间的1/100 来得到一组随机数,把这些随机数当做指针,然后取指针对应的字符表中相应的字符,得到一串字符。

在把结果显示到屏幕上时将数据拆分后输出到屏幕上。

如‘123’在屏幕上显示时必须一个一个输出,还有在输出小数点时也采取了相应的办法。

简单打字游戏编程

简单打字游戏编程

简单打字游戏编程字数:1500字随着计算机技术的迅速发展,各种各样的游戏应运而生,其中打字游戏是一类经典且受欢迎的游戏类型。

在这篇文章中,我将介绍一个简单的打字游戏的编程实现,带领读者一起学习如何利用编程语言来开发一个简易的打字游戏。

在开始之前,我们首先需要确定使用的编程语言。

在本篇文章中,我将使用Python语言来进行游戏的开发。

Python是一种易于学习和使用的编程语言,非常适合初学者。

编写打字游戏的代码之前,请确保你已经安装了Python,并且具备基本的编程知识。

首先,我们需要为游戏设计一个基本的界面。

在这个游戏中,我们将在屏幕上显示一个随机的英文单词,并要求玩家尽快输入正确的单词。

为了实现这个功能,我们需要使用Python的一个叫做`random`的模块来生成随机单词。

下面是一个简单的代码示例:```pythonimport randomdef generate_word():words = ['apple', 'banana', 'cat', 'dog', 'elephant'] # 可以根据需要扩展单词列表return random.choice(words)if __name__ == '__main__':word = generate_word()print(word)```在上面的代码中,`generate_word`函数用于生成一个随机的单词。

我们事先定义了一个单词列表`words`,其中包含了一些常见的英文单词。

然后,使用`random.choice`函数从这个列表中随机选择一个单词,并将其返回。

在主程序部分,我们调用`generate_word`函数并打印生成的单词。

接下来,我们需要实现游戏的主循环。

在游戏开始后,程序会不断生成新的单词,并等待玩家输入。

玩家需要尽快输入正确的单词,否则游戏将结束。

C#简单打字练习程序CH10

C#简单打字练习程序CH10

C#简单打字练习程序CH10 using System;using System.Drawing;using System.Collections;using ponentModel;using System.Windows.Forms;using System.Threading;namespace MoveChar{/// <summary>/// frmMoveChar 的摘要说明。

/// </summary>public class frmMoveChar : System.Windows.Forms.Form{private System.Windows.Forms.Button bntStart;private System.Windows.Forms.Button bntExit;private System.Windows.Forms.Timer timerStart;private bel lblChar;private System.Windows.Forms.Panel pnlContainer;private ponentModel.IContainer components;public frmMoveChar(){//// Windows 窗体设计器⽀持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调⽤后添加任何构造函数代码//}/// <summary>/// 清理所有正在使⽤的资源。

/// </summary>protected override void Dispose( bool disposing ){if( disposing ){if(components != null){components.Dispose();}}base.Dispose( disposing );}#region Windows 窗体设计器⽣成的代码/// <summary>/// 设计器⽀持所需的⽅法 - 不要使⽤代码编辑器修改/// 此⽅法的内容。

c语言写打字训练程序

c语言写打字训练程序

c语言写打字训练程序
打字训练是提高打字速度和准确度的有效方法,而c语言作为一种高级编程语言,可以利用其强大的功能和语法来编写一个打字训练程序。

一、设定需求
首先要设定需求,即需要让程序能够对用户进行打字速度和准确度的测试,同时需要提供不同难度和不同形式的打字练习。

二、设计程序算法
接下来需要设计程序的算法,即如何实现需求。

可以将程序分为三个模块,分别为输入模块、计算模块和输出模块。

1.输入模块:用户输入打字练习的文本,可以从文件中读取打字练习文本。

需要记录用户的开始时间和结束时间,以便计算用户的打字速度。

2.计算模块:计算模块会根据用户输入的文本和正确答案进行比较,计算用户的打字准确度和速度,并将结果传递给输出模块进行显示。

3.输出模块:输出模块会显示用户的打字速度和准确度,并给出评估。

三、编写程序代码
接下来就可以根据对算法的设计来编写程序代码了。

可以按照模块分别编写代码,其中输入模块可以使用c语言标准库中的文件读写函数进行实现。

计算模块需要编写字符串比较函数和计算打字速度和准确度的函数。

输出模块可以使用printf函数进行简单的命令行输出。

四、测试和优化程序
最后需要对程序进行测试和优化。

可以在代码中加入错误处理机制,防止出现崩溃现象,同时可以对用户接口进行优化,使其更加易用。

总之,使用C语言编写打字训练程序,需要从设定需求开始,设计程序算法,编写代码,测试和优化程序,才能达到预期的效果。


就需要程序员有一定的编程经验和思维能力。

通过不断学习和实践,我们可以不断提高自己的编程水平和技能,创造更加有用和实用的程序。

打字练习汇编语言程序程序设计

打字练习汇编语言程序程序设计

目录1 方案论证 (1)1.1题目要求 (1)1.2算法说明 (1)1.2.1输入/输出算法 (1)1.2.2时间计算算法 (2)1.2.3正确率计算算法 (2)2程序流程图 (3)2.1主程序流程图 (3)2.2时间计算流程图 (4)2.3正确率计算流程图 (5)3.设计关键问题 (7)3.1输入输出 (7)3.1.1 输出显示信息 (7)3.1.2 输入十个字符 (8)3.2 输入字符串所用时间计算 (9)3.3 正确率判断 (10)4.调试运行结果分析 (12)心得体会 (15)参考文献 (16)附录 (17)打字练习汇编语言程序程序设计1 方案论证1.1题目要求本次《微机原理与接口技术》课程设计的题目是打字练习汇编语言程序设计,要求在屏幕输出提示信息及一串有十个字符的字符串的同时开始记录系统时间,当输入十个字符后,再次记录系统时间,计算输入字符串的时间,及输入字符串的正确率,并将最终结果显示在屏幕上。

只有完全正确才能进入下一字符串的练习,并最后显示赞赏提示信息,否则,继续练习该字符串的输入,知道全部输入正确;一串字符串输入结束后,如果不想继续打字练习,则按‘1’退出打字练习如果想继续进行打字练习,则按任意键进入下一字符串的练习,直到练习完三串字符串,按‘1’退出。

1.2算法说明打字练习汇编语言程序设计的主要算法是进行时间的计算和正确率的判断,并将最后结果显示在屏幕上。

1.2.1输入/输出算法DOS功能调用的过程为:首先,将DOS功能调用号送入寄存器AH中,其次,如果序言按要求给定输入参数(有的不需要输入参数),最后,写入终端指令INT21H。

DOS的输入输出包括单字符输入输出和多字符输入输出。

(1)单字符输入输出算法单字符的输入,是DOS的01H号功能调用,没有输入参数,输出参数是AL=要输入字符的ASCII码。

单字符的输出,是DOS的02H号功能调用,输入参数为DL=要输出的字符的ASCII码,无数除参数。

打字练习程序设计论文

打字练习程序设计论文

目录一概述 (2)1.背景分析及意义 (2)2. 课程设计的目的 (2)3. 课程设计的要求 (3)4.汇编语言的介绍 (3)二总体方案设计 (5)1. 程序设计的整体设计思路 (5)2. 算法的整体设计思路 (6)3. 程序的主要特点 (6)4. 程序的主要功能 (6)三详细设计 (7)1. 主界面的设计 (7)2. 打字练习程序设计 (8)3.等级界面的设计 (9)4. 帮助界面的设计 (9)5. 生命计数和分数值的设计 (10)6. 清屏子程序设计 (11)四程序的调试与运行结果说明 (12)1.MASM5.0简介 (12)2. 程序的运行结果 (12)五课程设计总结 (16)致谢 (16)参考文献 (18)附录 (19)一概述1.背景分析及意义随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。

而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。

汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。

《打字练习程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。

因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。

通过具体的问题分析、设计、调试、运行程序。

在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。

就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。

一个简单的打字练习程序

一个简单的打字练习程序

类似于学习机上的指法练习程序,简单⽽实⽤#includemain(){int x,y,i,j;unsigned int Timer;char ch;char key;char *kb[]={"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 , . /"}; long AllCounter=0,RightCounter=0,FalseCounter=0;time_t t;int fun_Esc();srand((unsigned)time(&t));clrscr();gotoxy(18,1);printf("%s\n",kb[0]);gotoxy(20,3);printf("%s\n",kb[1]);gotoxy(22,5);printf("%s\n",kb[2]);gotoxy(11,25);for(i=0;i<60;i++){printf("=");}gotoxy(1,1);printf("AllCh: %ld\nRight: %ld\nFalse: %ld",AllCounter,RightCounter,FalseCounter); printf("\n\n");printf("Esc to exit");printf("\n");printf("Enter to pause");gotoxy(26,12);printf("* * * * * * * * * * * * * * *");gotoxy(26,13);printf("* Press any key to start! *");gotoxy(26,14);printf("* * * * * * * * * * * * * * *");gotoxy(51,13);if(getch()==27){if(fun_Esc()==1){clrscr();exit(0);}}gotoxy(23,12);printf(" ");gotoxy(23,13);printf(" ");gotoxy(23,14);printf(" ");lab_start:y = 6;Timer = 100000;i = rand()%3;j = rand()%(12-i);ch = kb[i][j*4];x = 18+i*2+j*4;while(y<=24){if(kbhit()){key = getch();if(key==ch || key==ch+32){ch = ’*’; Timer = 1000;}else if(key==27){if(fun_Esc()==1){clrscr();exit(0);}}else if(key==’\r’){gotoxy(x,y-1);printf(" ");gotoxy(28,13);printf("Press any key to continue");getch();gotoxy(28,13);printf(" ");}else{FalseCounter++;}}if(y>6){gotoxy(x,y-1);printf(" ");}gotoxy(x,y);printf("%c",ch);gotoxy(1,1);printf("AllCh: %ld\nRight: %ld\nFalse: %ld",AllCounter,RightCounter,FalseCounter); delay(Timer);y++;}AllCounter++;if(ch == ’*’){RightCounter++;}goto lab_start;}int fun_Esc(){int key = ’#’;gotoxy(24,12);printf("* * * * * * * * * * * * * * * * *");gotoxy(24,13);printf("* Are you sure to exit? (Y/N) *");gotoxy(24,14);printf("* * * * * * * * * * * * * * * * *");gotoxy(51,13);while(key!=’Y’ && key!=’y’ && key!=’N’ && key!=’n’){key = getch();if(key==’Y’ || key==’y’) {return 1;}if(key==’N’ || key==’n’) {gotoxy(24,12);printf(" ");gotoxy(24,13);printf(" ");gotoxy(24,14);printf(" ");return 0;}}}。

Python编写打字训练小程序

Python编写打字训练小程序

Python编写打字训练⼩程序你眼中的程序猿别⼈眼中的程序猿,是什么样⼦?打字如飞,各种炫酷的页⾯切换,⼀个个好似⿊客般的⽹站破解。

可现实呢?⼆指禅的敲键盘,写⼀⾏代码,查半天百度…那么如何能让我们从外表上变得更像⼀个程序猿呢?当然是训练我们的打字速度了啊!训练打字很羡慕那些盲打速度炒鸡快的⼈,看起来就⽐较炫酷。

但很多IT男打字速度并不快,甚⾄还有些⼆指禅的朋友们,太影响装13效果了。

那么今天我们就来使⽤Python写⼀个打字训练的⼩⼯具吧。

先来看看使⽤效果…我们使⽤Python内置的GUI模块Tkinter来编写⼀个打字测试的⼩⼯具。

点击开始测试,系统随机⽣成20个字符串,然后⽤户按照题⽬进⾏作答后,点击交卷,系统将对⽐我们的输⼊结果,来计算正确率,并使⽤涂⾊将系统与⽤户的答案进⾏对⽐。

⽣成随机数⾸先我们需要⽣成键盘上的字符。

当然我们可以0-9,A-Z,a-z,!-)等等的⼀个个枚举出键盘上的按键。

但有没有更快捷的操作呢?你需要了解下string模块。

这⾥介绍下⼏个string默认提供的内容:import string# 列举数字string.digits>>> '0123456789'# 列举⼩写字母string.ascii_lowercase>>> 'abcdefghijklmnopqrstuvwxyz'# 列举⼤写字母string.ascii_uppercase>>> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'# 列举所有标点符号string.punctuation>>> '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'# 列举所有空⽩符string.whitespace>>> ' \t\n\r 0b 0c'string.ascii_letters =string.ascii_lowercase + string.ascii_uppercasestring.printable =string.ascii_letters + string.digits+ string.whitespace + string.punctuation剩余的内容,我们只需要进⾏相关读写判断即可,整体代码如下:# -*- coding: utf-8 -*-# @Author : 王翔# @JianShu : 清风Python# @Date : 2019/8/25 20:59# @Software : PyCharm# @version :Python 3.7.3# @File : TypingTest.pyfrom tkinter import *import randomimport stringfrom datetime import datetimeroot = Tk()root.title("Python打字练习题 By:清风Python")Label(root, text='系统题⽬:').grid(row=0)Label(root, text='⽤户作答:').grid(row=1)Label(root, text='考试结果:').grid(row=2)v1 = StringVar()v2 = StringVar()v3 = StringVar()v1.set("点击'开始测试'按钮开始出题")e1 = Entry(root, text=v1, state='disabled', width=40, font=('宋体', 14))e2 = Entry(root, textvariable=v2, width=40, font=('宋体', 14))e3 = Label(root, textvariable=v3, width=40, font=('宋体', 10), foreground='red')e1.grid(row=0, column=1, padx=10, pady=20)e2.grid(row=1, column=1, padx=10, pady=20)e3.grid(row=2, column=1, padx=10, pady=20)text = Text(root, width=80, height=7)text.grid(row=4, column=0, columnspan=2, pady=5)class TypingTest:def __init__(self):self.time_list = []self.letterNum = 20self.letterStr = ''.join(random.sample(string.printable.split(' ')[0], self.letterNum)) self.examination_paper = ''def time_calc(self):self.time_list.append(datetime.now())yielddef create_exam(self):text.delete(0.0, END)# e3.delete(0, END)v1.set(self.letterStr)self.time_calc().__next__()text.insert(END, "开始:%s \n" % str(self.time_list[-1]))user_only1.config(state='active')def score(self):wrong_index = []self.time_calc().__next__()text.insert(END, "结束:%s\n" % str(self.time_list[-1]))use_time = (self.time_list[-1] - self.time_list[-2]).secondsself.examination_paper = v2.get()if len(self.examination_paper) > self.letterNum:v3.set("输⼊数据有误,作答数⼤于考题数")else:right_num = 0for z in range(len(self.examination_paper)):if self.examination_paper[z] == self.letterStr[z]:right_num += 1else:wrong_index.append(z)if right_num == self.letterNum:v3.set("完全正确,正确率%.2f%%⽤时:%s秒" % ((right_num * 1.0) / self.letterNum * 100, use_time))else:v3.set("正确率%.2f%%⽤时:%s 秒" % ((right_num * 1.0) / self.letterNum * 100, use_time))# e2.delete(0, END)text.insert(END, "题⽬:%s\n" % self.letterStr)tag_info = list(map(lambda x: '4.' + str(x + 3), wrong_index))text.insert(END, "作答:%s\n" % self.examination_paper)for i in range(len(tag_info)):text.tag_add("tag1", tag_info[i])text.tag_config("tag1", background='red')user_only1.config(state='disabled')TypingTest = TypingTest()Button(root, text="开始测试", width=10, command=TypingTest.create_exam).grid(row=3, column=0, sticky=W, padx=30, pady=5)user_only1 = Button(root, text="交卷", width=10, command=TypingTest.score, state='disable')user_only1.grid(row=3, column=1, sticky=E, padx=30, pady=5)mainloop()我们将最终的代码,打包成exe⼯具,即可脱离python环境,在单独的电脑上执⾏exe⽂件玩我们⾃⼰的打字练习题了:总结以上所述是⼩编给⼤家介绍的Python编写打字训练⼩程序,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

英文打字练习程序源代码

英文打字练习程序源代码
Else
lbl_score.BackColor = vbGreen
Timer1.Enabled = True
Timer2.Enabled = True
End If
End Sub
Private Sub Form_Load()
If KeyAscii = 27 Then
Timer1.Enabled = False
Timer2.Enabled = False
lbl_score.BackColor = vbYellow
lbl_score.Caption = "成绩: " & right & "分" & " 错误: " & wrong & " 个" & " 正确率: " & Int(right / keynum * 100) & "%" & " 按任意键继续"
With lbl_letter.Font
.Name = "宋体"
.Size = 20
.Bold = True
End With
lbl_letter.ForeColor = vbYellow
lbl_letter.BackColor = Form1.BackColor
Timer2.Enabled = True
Timer1.Interval = 100
Timer2.Interval = 1000
'隐藏命令按钮
Command1.Visible = False
Command2.Visible = False

基于Java开发技术的打字练习系统

基于Java开发技术的打字练习系统

科学技术创新基于J ava 开发技术的打字练习系统陈湘瑾祖子帅于孔亮修昂(山东科技大学,山东济南250000)1概述如今计算机技术迅速持续性发展并逐渐地融入了人们的生活。

为了适应当今社会的变革发展,提高人们对计算机网络的熟悉程度与动手操作能力显得尤为必要。

然而打字速度是一个人操作熟练程度的重要衡量指标,同时也是提高网上沟通交流效率的重要方法。

本系统操作方便,可根据系统后台给出的文本随机匹配进行打字练习。

通过不断练习提高正确率从而达到熟练掌握打字技能的目的。

2系统需求分析和功能模块设计本系统针对具有打字练习需求的用户群体而设定,打字练习的难度级别一共分为3个等级:初级、中级、困难。

功能模块设计:(1)打字练习难度级别弹出对话框和主界面窗口模块设计。

(2)随机读取文件中的汉字文本来进行打字练习,实现系统给出打字练习的样本(样本保存在指定文件中),用户根据样本进行打字练习。

(3)系统能够自动将用户打字练习过程中产生的字符错误进行统计分析,并显示出相应正确率。

3系统功能详细设计及实现3.1界面设计此部分设计可以弹出消息对话框并使用户进入打字练习主界面窗口。

首先设置创建了三个容器panel 1、panel 2、panel 3,用来添加各种组件。

设置“开始”和“退出”2个按钮;“标题”、“当前正确率”、“难度”3个标签。

设置3个文本框,一个是不可编辑的,用来读取样本文件中的文本内容,一个是用户进行打字练习的可编辑的文本框,还有一个是难度后面的长度为6的文本框,在里面分别输入数字1,2,3则会得到相应等级难度为1,2,3的文本内容进行打字练习。

为b1和b2两个按钮设置增加监听功能,又设置了布局为边框布局,边框布局分东南西北中5个方位来分别添加控件。

3.2随机读取打字练习文本随机选择保存在指定文件中的样本,用户根据样本文章内容进行打字练习的功能模块设计。

利用随机数(设置随机数为5)及数组来实现随机读取文章内容进行打字练习,分别将难度等级为1,2,3的文章放在不同的集合里,然后通过流读取数据,通过数组中存储的文章路径来读取文章内容,实现随机匹配与读取文本的功能。

如何利用文本编辑器练习打字

如何利用文本编辑器练习打字

如何利用文本编辑器练习打字文本编辑器是我们日常工作、学习和娱乐中经常用到的工具之一。

除了用于编写文件和编辑文本外,它还可以成为我们练习打字技巧的有力助手。

本文将介绍如何利用文本编辑器来进行打字练习,提高打字速度和准确性。

一、选择适合的文本编辑器首先,我们需要选择适合的文本编辑器。

市面上有很多种文本编辑器可供选择,如Notepad++、Sublime Text、Atom等。

其中,Notepad++是一款免费且功能强大的文本编辑器,适合用于打字练习。

它具有简洁的界面、丰富的插件和快捷键,能够满足我们的需求。

二、准备练习材料在进行打字练习之前,我们需要准备一些练习材料。

这些材料可以是一些英语文章、新闻报道或是自己喜欢的小说段落。

我们可以从网上搜索并复制这些文本内容,然后粘贴到文本编辑器中。

三、设置合适的字体和字号在进行打字练习之前,我们应该设置合适的字体和字号。

选用合适的字体和字号有助于提高阅读舒适度,并且能够更好地感知每个字符,提高打字准确性。

常见的字体有宋体、微软雅黑和Arial,我们可以根据个人喜好进行选择。

四、选择适当的练习方式接下来,我们需要选择适当的练习方式。

有两种主要的练习方式可供选择:逐字练习和逐段练习。

1. 逐字练习逐字练习是指我们按照给定的文本内容,一个字符一个字符地进行打字练习。

我们可以从文本的开头开始逐字打印,直到打印完整个文本。

这种方式适用于初学者或者想要提高打字准确性的人。

通过逐字练习,我们可以熟悉键盘上每个字符的位置,锻炼手指的灵活性。

2. 逐段练习逐段练习是指我们按照给定的文本内容,一段一段地进行打字练习。

我们可以将整篇文章分成若干段落,然后逐段进行打字练习。

这种方式适用于想要提高打字速度的人。

通过逐段练习,我们可以在保持一定的准确性的前提下,增加打字的速度。

无论选择哪种练习方式,我们都应该注意保持正确的打字姿势。

正确的姿势包括坐姿端正、手指平放在键盘上并轻按键盘,以及注意手部和身体的放松,不要过度用力。

汉字打字练习_java代码

汉字打字练习_java代码
southPanel.add(inputText);
southPanel.add(scoreText);
add(southPanel,BorderLayout.SOUTH);
setBounds(100,100,350,180);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
Label wordLabel;
Button button;
TextField inputText,scoreText;
WordThread giveWord;
int score=0;
MainFrame(){
wordLabel=new Label(" ",Label.CENTER);
wordLabel.setFont(new Font("",Font.BOLD,72));
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==button){
if(!(giveWord.isAlive())){
import java.awt.*;
import java.awt.event.*;
public class E10_1{
public static void main(String[] args){
//TODO Auto-generated method stub

打字练习软件源代码

打字练习软件源代码

打字练习软件源代码12import javax.swing.*;3import java.awt.*;456/**7* This code was edited or generated using CloudGarden's Jigloo8* SWT/Swing GUI Builder, which is free for non-commercial9* use. If Jigloo is being used commercially (ie, by a corporation,10* company or business for any purpose whatever) then you11* should purchase a license for each developer using Jigloo.12* Please visit for details.13* Use of Jigloo implies acceptance of these licensing terms.14* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR15* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED16* LEGALL Y FOR ANY CORPORATE OR COMMERCIAL PURPOSE.*/1718public class Chat extends JInternalFrame{19MainFrame parent;private JTextPane jtp;2021private JTextField txtData;2223public Chat(MainFrame parent){24this.parent=parent;2526setLayer(4);27setBounds(1,326,0,0);28this.setPreferredSize(new java.awt.Dimension(140, 223));29((javax.swing.plaf.basic.BasicInternalFrameUI) this.getUI()).setNorthPane(null);30this.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);31GridBagLayout thisLayout = new GridBagLayout();32thisLayout.rowWeights = new double[] {0.1, 0.1, 0.0, 0.0};thisLayout.rowHeights = new int[] {7, 7, 49, 56};3334thisLayout.columnWeights = new double[] {0.0, 0.0, 0.0, 0.0};35thisLayout.columnWidths = new int[] {0, 45, 45, 48};getContentPane().setLayout(thisLayout);3637setVisible(true);38pack();39{40jtp = new JTextPane();41getContentPane().add(jtp, new GridBagConstraints(1, 0, 4, 5, 0.0, 0.0,42GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));43jtp.setPreferredSize(new Dimension(140, 160));44jtp.setEditable(false);45}46{47txtData = new JTextField();48getContentPane().add(txtData, new GridBagConstraints(1, 7, 3, 1, 0.0, 0.0, 49GridBagConstraints.SOUTH, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));txtData.setColumns(10);5051}52}53}5455import java.io.*;56public class DistillText {57public static String getData(String fileName,int segment){58int i=0;59if((fileName==null) || (fileName.length()==0))60return"";61File f;62FileReader in=null;63String s="";64try{65f=new File(fileName);66in=new FileReader(f);67char[] buffer=new char[312];68int len;69if(ng.equals("English")){70if(segment>=(int)(f.length()/312))71PublicData.textTag=0;72}73if(ng.equals("Chinese")){74if(segment>=(int)(f.length()/312-1)+1)75PublicData.textTag=0;76}77while((len=in.read(buffer))!=-1){78s=new String(buffer,0,len);79i++;80if(i==segment){81PublicData.textTag++;82break;83}84}85}86catch(IOException e){87System.out.println(e);88}89finally{90try{91if(in!=null)92in.close();93}94catch(IOException e){}95}96return s;97}98}99100import java.awt.FlowLayout;101import java.awt.GridBagConstraints;102import java.awt.GridLayout;103import java.awt.Insets;import java.awt.event.ActionEvent;104105import java.awt.event.ActionListener;106import javax.swing.text.*;107import javax.swing.*;108import java.awt.*;109110import javax.swing.event.*;111112public class Editor extends JInternalFrame implements DocumentListener,Runnable{ 113114Runtime r=Runtime.getRuntime();115Hint parent;116117Document doc;118StyledDocument styledDoc = new DefaultStyledDocument();119Thread th;120121private int hour=0;//时private int minute=0;//分122123private int second=0;//秒124private JLabel lblTime;125126private JTextField txtCount;127private JLabel lblError;private JCheckBox on_off_Hint;128129private JButton btnRight;private JButton btnError;130131private JCheckBox faze;132private JCheckBox grade;private JCheckBox on_off_Assistant;133134private JPanel pCollocate;135private JTextPane txtOriginal;136private JTextPane txtNewText;137private JPanel pShowData;138private JButton btnClose;139private JLabel lblWord;140private JTextField txtMW;141private JLabel lblM;142private JTextField txtError;143private JTextField txtRight;144private JLabel lblRight;private JLabel lblCount;145146private JTextField txtTime;147private JPanel pAttrib;148149//记录输入的正确和错误的个数据150private int rightWord=0;151private int errorWord=0;152private int rightCount=0;153private int errorCount=0;154private int wordCount=0;155//临时156private boolean temp=true;157158159public Editor(Hint parent){160161this.parent=parent;162th=new Thread(this);163164165//组建Editor用户界面....166167setLayer(4);168setBounds(142,0,0,0);169this.setPreferredSize(new java.awt.Dimension(657, 325));//内部窗体大小170((javax.swing.plaf.basic.BasicInternalFrameUI) this.getUI()).setNorthPane(null); 171this.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);getContentPane().setLayout(null);172173this.setVisible(true);{174175pAttrib = new JPanel();176getContentPane().add(pAttrib, new GridBagConstraints(1, 0, 12, 3, 0.0, 0.0, 177GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); 178FlowLayout pAttribLayout = new FlowLayout();179pAttrib.setBorder(BorderFactory.createTitledBorder(""));pAttrib.setLayout(pAttribLayout);180181pAttrib.setBounds(-2, 33, 658, 42);182{lblTime = new JLabel();183184pAttrib.add(lblTime);185lblTime.setText("\u7528\u65f6:");186lblTime.setFont(new java.awt.Font("新宋体", 0, 12));187}188{189txtTime = new JTextField(8);190pAttrib.add(txtTime);191txtTime.setText("00:00:00");192txtTime.setEditable(false);txtTime.setHorizontalAlignment(SwingConstants.CENTER);193194}195{196lblCount = new JLabel();197pAttrib.add(lblCount);198lblCount.setText("\u603b\u5b57\u6570:");199lblCount.setFont(new java.awt.Font("新宋体", 0, 12));200}201{202txtCount = new JTextField();203pAttrib.add(txtCount);txtCount.setColumns(6);204205txtCount.setText("0");206txtCount.setEditable(false);207txtCount.setHorizontalAlignment(SwingConstants.CENTER);208}209{lblRight = new JLabel();210211pAttrib.add(lblRight);212lblRight.setText("\u6b63\u786e:");lblRight.setFont(new java.awt.Font("新宋体", 0, 12));213214}215{txtRight = new JTextField();216217pAttrib.add(txtRight);txtRight.setColumns(4);218219txtRight.setText("0");220txtRight.setEditable(false);221txtRight.setHorizontalAlignment(SwingConstants.CENTER); 222}223{lblError = new JLabel();224225pAttrib.add(lblError);226lblError.setText("\u9519\u8bef:");lblError.setFont(new java.awt.Font("新宋体", 0, 12));227228}229{230txtError = new JTextField();231pAttrib.add(txtError);232txtError.setColumns(4);233txtError.setText("0");234txtError.setEditable(false);235txtError.setHorizontalAlignment(SwingConstants.CENTER); 236}{237238lblM = new JLabel();239pAttrib.add(lblM);240lblM.setText("\u6bcf\u5206\u949f");241lblM.setFont(new java.awt.Font("新宋体", 0, 12));242}243{244txtMW = new JTextField();245pAttrib.add(txtMW);246txtMW.setColumns(4);247txtMW.setText("0");txtMW.setEditable(false);248249txtMW.setHorizontalAlignment(SwingConstants.CENTER); 250}251{252lblWord = new JLabel();253pAttrib.add(lblWord);lblWord.setText("\u4e2a\u5b57");254255lblWord.setFont(new java.awt.Font("新宋体", 0, 12));256}{257258btnClose = new JButton();259pAttrib.add(btnClose);btnClose.setText("\u79bb\u5f00");260261btnClose.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Image/leave.gif")));262263btnClose.setFont(new java.awt.Font("新宋体", 0, 12));264btnClose.addActionListener(new ActionListener() {265public void actionPerformed(ActionEvent evt) {266exitFram();267}});268269}270}{271272pShowData = new JPanel();273getContentPane().add(274pShowData,275new GridBagConstraints(2761,2771,27812,27910,2800.0,0.0,281282GridBagConstraints.CENTER,283GridBagConstraints.BOTH,284new Insets(0, 0, 0, 0),2850,2860));287GridLayout pShowDataLayout = new GridLayout(2, 1);288pShowDataLayout.setHgap(5);289pShowDataLayout.setVgap(5);290pShowDataLayout.setColumns(1);291pShowDataLayout.setRows(2);pShowData.setLayout(pShowDataLayout);292293pShowData.setBounds(5, 82, 644, 231);294{295txtOriginal = new JTextPane(styledDoc);296pShowData.add(txtOriginal);297txtOriginal.setPreferredSize(new java.awt.Dimension(600, 0));txtOriginal.setEditable(false);298299}300{txtNewText = new JTextPane();301302pShowData.add(txtNewText);303txtNewText.setPreferredSize(new java.awt.Dimension(600, 0));Document doc=txtNewText.getDocument();304305doc.addDocumentListener(this);306307}308}309{310pCollocate = new JPanel();311getContentPane().add(312pCollocate,313new GridBagConstraints(3141,31511,31612,3172,3180.0,3190.0,320GridBagConstraints.SOUTH,321GridBagConstraints.BOTH,322new Insets(0, 0, 0, 0),3230,3240));FlowLayout pCollocateLayout = new FlowLayout();325326pCollocate.setBorder(BorderFactory.createTitledBorder(""));327pCollocate.setLayout(pCollocateLayout);328pCollocate.setBounds(-2, -2, 658, 35);329{330on_off_Hint = new JCheckBox();331pCollocate.add(on_off_Hint);332on_off_Hint.setText("\u5173\u95ed\u5b57\u6bcd\u63d0\u793a"); 333on_off_Hint.setSelected(true);334on_off_Hint.setFont(new java.awt.Font("新宋体",0,12));335}{336337on_off_Assistant = new JCheckBox();338pCollocate.add(on_off_Assistant);on_off_Assistant.setText("\u5173\u95ed\u6c49\u5b57\u52a9\u624b"); 339340on_off_Assistant.setSelected(true);341on_off_Assistant.setFont(new java.awt.Font("新宋体",0,12));342}343{344grade = new JCheckBox();pCollocate.add(grade);345346347grade.setText("\u79bb\u5f00\u65f6\u662f\u5426\u663e\u793a\u6210\u7ee9");348grade.setSelected(true);349grade.setFont(new java.awt.Font("新宋体",0,12));}350351{352faze = new JCheckBox();pCollocate.add(faze);353354355faze.setText("\u804a\u5929\u7cfb\u7edf\u5f00\u542f\u65f6\u663e\u793a\u81ea\u5df1\u768 4\u72b6\u6001");356357faze.setSelected(true);358faze.setFont(new java.awt.Font("新宋体",0,12));}359360{361btnError = new JButton();362pCollocate.add(btnError);363//btnError.setIcon(new364ImageIcon(getClass().getClassLoader().getResource("Image/Error.gif")));365btnError.setBackground(new java.awt.Color(255,255,255));366367btnError.setToolTipText("\u9519\u8bef\u6587\u5b57\u7528\u7ea2\u8272\u8868\u793a"); 368btnError.setText("×");btnError.setPreferredSize(new java.awt.Dimension(47, 17));369370btnError.setFont(new java.awt.Font("新宋体",1,12));371btnError.setForeground(new java.awt.Color(219,32,36));372}373{374btnRight = new JButton();375pCollocate.add(btnRight);376//btnRight.setIcon(newImageIcon(getClass().getClassLoader().getResource("Image/Right.gif")));377378btnRight.setBackground(new java.awt.Color(255,255,255));379btnRight.setToolTipText("\u6b63\u786e\u6587\u5b57\u7528\u84dd\u8272\u8868\u793a"); 380381btnRight.setText("\u221a");382btnRight.setFont(new java.awt.Font("新宋体",1,12));383btnRight.setPreferredSize(new java.awt.Dimension(47, 17));384btnRight.setForeground(new java.awt.Color(0,0,255));385}386387txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag)); 388//PublicData.key=txtOriginal.getText().substring(0,1);Empty empty=new Empty();389390empty.start();391if(txtOriginal.getText().length()!=0){392393if(ng.equals("English")){PublicData.key=txtOriginal.getText().substring(0,1); 394395this.parent.repaint();396}397if(ng.equals("Chinese")){398PublicData.key="";399}}400401}402this.pack();txtNewText.requestFocus();403404th.start();}405406407//判断正确和错误的字.并改变它们的颜色408public void chDocs(int xLen,int yLen,String xStr,String yStr)409{410SimpleAttributeSet attrSet=new SimpleAttributeSet();411rightWord=0;412errorWord=0;413for(int i=1;i<=xLen;i++)414{415if(i<=yLen){//数据验证416if(xStr.substring(i-1,i).equals(yStr.substring(i-1,i))){417rightWord++;418StyleConstants.setForeground(attrSet,Color.BLUE); 419}420else{421errorWord++;422StyleConstants.setForeground(attrSet,Color.RED); 423}StyleConstants.setUnderline(attrSet,true);424425}426else{StyleConstants.setForeground(attrSet,Color.BLACK); 427428StyleConstants.setUnderline(attrSet,false);429}styledDoc.setCharacterAttributes(i-1,1,attrSet,true);430431}432txtRight.setText((rightWord+rightCount)+"");433434txtError.setText((errorWord+errorCount)+"");435int c=0;for(int i=0;i<minute;i++){436437c=c+60;438}439c=c+second;440double s=(double)c/60;441txtMW.setText(""+Math.round(((double)Integer.parseInt(txtRight.getText()))/s)); 442}443444//实现DocumentListener所有的方法..用于监听输入文本...445public void changedUpdate(DocumentEvent e){446if(ng.equals("English")){447PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(), 448txtNewText.getText().length()+1);449this.parent.repaint();450}451if(ng.equals("Chinese")){452PublicData.key="";453}454}455public void insertUpdate(DocumentEvent e){456if(ng.equals("English")){457try{458459PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(),460txtNewText.getText().length()+1);461}catch(StringIndexOutOfBoundsException str){}462this.parent.repaint();463}464if(ng.equals("Chinese")){PublicData.key="";465466}467}468469public void removeUpdate(DocumentEvent e){470if(ng.equals("English")){471PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(), 472txtNewText.getText().length()+1);473this.parent.repaint();474}475if(ng.equals("Chinese")){476PublicData.key="";477}478}479480//数据验证481private void dataValidate(){chDocs(txtOriginal.getText().length(),txtNewText.getText()482483.length(),txtOriginal.getText(),txtNewText.getText());484if(txtOriginal.getText().length()>txtNewText.getText().length()){if(ng.equals("English")){485486487PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(),txtNewText.getText().length()+1);488489}490if(ng.equals("Chinese")){PublicData.key="";491492}493txtCount.setText((txtNewText.getText().length()+wordCount)+"");494}495else{496wordCount=wordCount+txtOriginal.getText().length();497rightCount=rightCount+rightWord;498errorCount=errorCount+errorWord;499txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag)); 500501if(ng.equals("English")){502PublicData.key=txtOriginal.getText().substring(0,1);503this.parent.repaint();504}505if(ng.equals("Chinese")){506PublicData.key="";507this.parent.repaint();508}}509510}511//退出时所要关闭的窗体512513private void exitFram(){514PublicData.key="";515PublicData.Text="";516this.parent.repaint();517this.parent.doDefaultCloseAction();518this.doDefaultCloseAction();519PublicData.onChoice=true;520PublicData.textTag=1;521r.gc();522System.gc();523}524525//计时器526public void run(){527try{528while(true){529Thread.sleep(1000);530second++;531if(second==60){532second=0;533minute++;if(minute==60){534535minute=0;536hour++;537if(hour==1000){538second=0;539minute=0;540hour=0;541}542}543}544txtTime.setText(((hour<=9)?"0":"")+hour+":"+((minute<=9)?"0":"")+minute+":"+((second<=9)?"0":"")+second);545546}547}catch (InterruptedException e){}548549}550class Empty extends Thread{551552public void run(){553while(true){554try{555Thread.sleep(100);556dataValidate();557if(txtNewText.getText().length()>=txtOriginal.getText().length()){ 558txtNewText.setText("");559}560}561catch(InterruptedException e){}562}563}564}565}566import java.awt.event.ActionEvent;import java.awt.event.ActionListener;567568import javax.swing.*;569570571572/**573* This code was edited or generated using CloudGarden's Jigloo* SWT/Swing GUI Builder, which is free for non-commercial574575* use. If Jigloo is being used commercially (ie, by a corporation,576* company or business for any purpose whatever) then you577* should purchase a license for each developer using Jigloo.578* Please visit for details.579* Use of Jigloo implies acceptance of these licensing terms.580* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR581* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED582* LEGALL Y FOR ANY CORPORATE OR COMMERCIAL PURPOSE.583*/584public class Etymon extends JInternalFrame{585private Hint parent;586587private JButton btnCelean;588private JLabel lblword;private JPanel p4;589590private JPanel p3;591private JPanel p2;592private JTextField txtMSword;593private JLabel lblRight;594private JTextField txtRight;595private JLabel lblM;596private JTextField txtError;597private JLabel lblError;598private JTextField txtCountWord;599private JLabel countWord;600private JTextField txtTime;601private JLabel lblTime;602private JPanel p1;603private JLabel lblt;604605private JLabel[] ShowWord;606public Etymon(Hint parent){607608this.parent=parent;609setLayer(7);610611setBounds(142,0,0,0);this.setPreferredSize(new java.awt.Dimension(657, 325));//内部窗体大小612613((javax.swing.plaf.basic.BasicInternalFrameUI) this.getUI()).setNorthPane(null);this.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);614615getContentPane().setLayout(null);616this.setVisible(true);617{618lblt = new JLabel();619getContentPane().add(lblt);lblt.setIcon(new ImageIcon(getClass().getClassLoader().getResource( 620621"Image/zgt.gif")));622lblt.setBounds(26, 40, 602, 189);}623624{625p1 = new JPanel();626getContentPane().add(p1);627p1.setBounds(-2, -2, 658, 42);628p1.setBorder(BorderFactory.createTitledBorder(""));629{630lblTime = new JLabel();631p1.add(lblTime);632lblTime.setText("\u7528\u65f6:");lblTime.setPreferredSize(new java.awt.Dimension(30, 14));633634lblTime.setFont(new java.awt.Font("新宋体",0,12));635}636{637txtTime = new JTextField();638p1.add(txtTime);639txtTime.setText("00:00:00");640txtTime.setEditable(false);641txtTime.setPreferredSize(new java.awt.Dimension(69, 20));642txtTime.setFont(new java.awt.Font("新宋体",0,12));643txtTime.setHorizontalAlignment(SwingConstants.CENTER);}644645{646countWord = new JLabel();647p1.add(countWord);648countWord.setText("\u603b\u5b57\u6570:");649countWord.setFont(new java.awt.Font("新宋体",0,12));}650651{652txtCountWord = new JTextField();p1.add(txtCountWord);653654txtCountWord.setText("0");655txtCountWord.setPreferredSize(new java.awt.Dimension(69, 20));txtCountWord.setFont(new java.awt.Font("新宋体",0,12));656657txtCountWord.setHorizontalAlignment(SwingConstants.CENTER);659}660{661lblRight = new JLabel();662p1.add(lblRight);663lblRight.setText("\u6b63\u786e:");664lblRight.setFont(new java.awt.Font("新宋体",0,12));665}666{txtRight = new JTextField();667668p1.add(txtRight);669txtRight.setText("0");670txtRight.setPreferredSize(new java.awt.Dimension(69, 20)); 671txtRight.setFont(new java.awt.Font("新宋体",0,12));672txtRight.setEditable(false);673txtRight.setHorizontalAlignment(SwingConstants.CENTER); 674}675{676lblError = new JLabel();677p1.add(lblError);lblError.setText("\u9519\u8bef:");678679lblError.setFont(new java.awt.Font("新宋体",0,12));680}{681682txtError = new JTextField();683p1.add(txtError);684txtError.setText("0");685txtError.setPreferredSize(new java.awt.Dimension(69, 20)); 686txtError.setFont(new java.awt.Font("新宋体", 0, 12));txtError.setEditable(false);687688txtError.setHorizontalAlignment(SwingConstants.CENTER); 689}{690691lblM = new JLabel();692p1.add(lblM);693lblM.setText("\u6bcf\u5206\u949f");694lblM.setFont(new java.awt.Font("新宋体",0,12));695}696{697txtMSword = new JTextField();698p1.add(txtMSword);699txtMSword.setText("0");txtMSword.setPreferredSize(new java.awt.Dimension(69, 20)); 700701txtMSword.setFont(new java.awt.Font("新宋体",0,12));703txtMSword.setHorizontalAlignment(SwingConstants.CENTER); 704}705{706lblword = new JLabel();707p1.add(lblword);708lblword.setText("\u5b57");709lblword.setFont(new java.awt.Font("新宋体",0,12));710}{711712btnCelean = new JButton();713p1.add(btnCelean);714btnCelean.setText("\u79bb\u5f00");715btnCelean.setFont(new java.awt.Font("新宋体", 0, 12));716btnCelean.setBounds(579, 236, 63, 21);717btnCelean.setBackground(new java.awt.Color(255, 255, 255)); 718btnCelean.addActionListener(new ActionListener() {719public void actionPerformed(ActionEvent evt) {720exit();721}});722723}724}{725726p2 = new JPanel();727getContentPane().add(p2);728p2.setBounds(-2, 229, 658, 28);729p2.setBorder(BorderFactory.createTitledBorder(""));730}{731732p3 = new JPanel();733getContentPane().add(p3);p3.setBounds(-2, 290, 658, 35);734735p3.setBorder(BorderFactory.createTitledBorder(""));736}737{738//ShowWord=new JLabel[20];739//for(int i=0;i<20;i++){740//ShowWord[i].setText("熊");741//}742p4 = new JPanel();743p4.setLayout(null);getContentPane().add(p4);744745p4.setBounds(-2, 257, 658, 35);p4.setBorder(BorderFactory.createTitledBorder(""));746747}748this.pack();749}750private void exit(){751this.parent.doDefaultCloseAction();this.doDefaultCloseAction();752753PublicData.onChoice=true;754PublicData.textTag=1;System.gc();755756}}757758759import javax.swing.*;760import javax.swing.event.*;761import javax.swing.text.html.*;762import java.awt.*;763import java.awt.event.ActionEvent;764import java.awt.event.ActionListener;765import java.io.*;766import .*;767768769/**770* This code was edited or generated using CloudGarden's Jigloo771* SWT/Swing GUI Builder, which is free for non-commercial772* use. If Jigloo is being used commercially (ie, by a corporation,773* company or business for any purpose whatever) then you774* should purchase a license for each developer using Jigloo.775* Please visit for details.776* Use of Jigloo implies acceptance of these licensing terms.777* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR 778* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED 779* LEGALL Y FOR ANY CORPORATE OR COMMERCIAL PURPOSE. 780*/781public class Help extends JInternalFrame{782783JEditorPane html;784private JPanel p;private JButton btnCencel;785786787public Help(){788try {789URL url = null;。

汉字打字练习_java代码

汉字打字练习_java代码
while(true){
word=(char)k;
show.setText(""+word);
try{sleep(6000);}
catch(InterruptedException e){}
k++;
if(k>=29968)k=19968;
}
}
}
class MainFrame extends Frame implements ActionListener{
southPanel.add(inputText);
southPanel.add(scoreText);
add(southPanel,BorderLayout.SOUTH);
setBounds(100,100,350,180);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
score++;
}
scoreText.setText("得分"+score);
inputText.setText(null);
}
}
}
}
class WordThread extends Thread{
//通过继承Thread类创建线程
char word;
int k=19968;
Label show;Wo来自dThread(Label show){
this.show=show;
}
public void run(){
//重载run函数
k=19968;
Label wordLabel;

打字练习代码

打字练习代码

最近发现很对人需要打字程序的代码,新作了一个,还有些小功能可以自己补充。

ZIP发不上来,只能让大家自己复制下去了。

Option ExplicitSub cswz() '产生位置Randomizewz = Rnd() * (Picture1.Width - 200)End SubSub cszm()RandomizeIf nd = 1 Thenzm = Chr(Int(26 * Rnd + 65))'Label1(0).Caption = Chr(Int((90 - 65 + 1) * Rnd + 65)) '产生一个介于65到90之间的随机数ElseIf nd = 2 Thenzm = Chr(Int(58 * Rnd + 65))Elsezm = Chr(Int(75 * Rnd + 48))End IfEnd SubPrivate Sub Command1_Click()df = 0Command4.Visible = FalseCommand1.Visible = Falsesdsd '调用产生速度设定值Timer1.Interval = sd1syt = 200Picture1.SetFocuscswz '调用产生位置子程序Label1(0).Left = wzcswz '调用产生位置子程序Label1(1).Left = wzcswz '调用产生位置子程序Label1(2).Left = wzcswz '调用产生位置子程序Label1(3).Left = wzcswz '调用产生位置子程序Label1(4).Left = wzcswz '调用产生位置子程序Label1(5).Left = wzcszm '调用产生字母子程序Label1(0).Caption = zmcszm '调用产生字母子程序Label1(1).Caption = zmcszm '调用产生字母子程序Label1(2).Caption = zmcszm '调用产生字母子程序Label1(3).Caption = zmcszm '调用产生字母子程序Label1(4).Caption = zmcszm '调用产生字母子程序Label1(5).Caption = zmTimer1.Enabled = True ' 激活Time1控件Timer2.Enabled = True ' 激活Time2控件Label3.Caption = "当前得分:" & dfLabel4.Caption = "剩余时间:" & sytLabel2.Caption = "当前难度等级:" & ndLabel5.Caption = "当前速度等级:" & sdEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Command4_Click()Form2.ShowEnd SubPrivate Sub Form_Load()RandomizeTimer1.Enabled = False ' Time1控件失效Timer2.Enabled = False ' Time2控件失效Command1.Visible = FalseEnd SubPrivate Sub Picture1_KeyPress(KeyAscii As Integer)If Chr(KeyAscii) = Label1(0).Caption Thendf = df + 1BeepLabel3.Caption = "当前得分:" & dfcszmcswzLabel1(0).Left = wzLabel1(0).Caption = zmLabel1(0).Top = 0ElseIf Chr(KeyAscii) = Label1(1).Caption Thendf = df + 1BeepLabel3.Caption = "当前得分:" & dfcszmcswzLabel1(1).Left = wzLabel1(1).Caption = zmLabel1(1).Top = 0ElseIf Chr(KeyAscii) = Label1(2).Caption Then df = df + 1BeepLabel3.Caption = "当前得分:" & dfcszmcswzLabel1(2).Left = wzLabel1(2).Caption = zmLabel1(2).Top = 0ElseIf Chr(KeyAscii) = Label1(3).Caption Then df = df + 1Label3.Caption = "当前得分:" & dfcszmcswzBeepLabel1(3).Left = wzLabel1(3).Caption = zmLabel1(3).Top = 0ElseIf Chr(KeyAscii) = Label1(4).Caption Then df = df + 1BeepLabel3.Caption = "当前得分:" & dfcszmcswzLabel1(4).Left = wzLabel1(4).Caption = zmLabel1(4).Top = 0ElseIf Chr(KeyAscii) = Label1(5).Caption Then df = df + 1BeepLabel3.Caption = "当前得分:" & dfcszmcswzLabel1(5).Left = wzLabel1(5).Caption = zmLabel1(5).Top = 0End IfEnd SubPrivate Sub Timer1_Timer()Label1(0).Top = Label1(0).Top + Rnd * 300 Label1(1).Top = Label1(1).Top + Rnd * 300 Label1(2).Top = Label1(2).Top + Rnd * 300 Label1(3).Top = Label1(3).Top + Rnd * 300 Label1(4).Top = Label1(4).Top + Rnd * 300 Label1(5).Top = Label1(5).Top + Rnd * 300 If Label1(0).Top > Picture1.Height Then cszmcswzLabel1(0).Left = wzLabel1(0).Caption = zmLabel1(0).Top = 0End IfIf Label1(1).Top > Picture1.Height Then cszmcswzLabel1(1).Left = wzLabel1(1).Caption = zmLabel1(1).Top = 0End IfIf Label1(2).Top > Picture1.Height Then cszmcswzLabel1(2).Left = wzLabel1(2).Caption = zmLabel1(2).Top = 0End IfIf Label1(3).Top > Picture1.Height Then cszmcswzLabel1(3).Left = wzLabel1(3).Caption = zmLabel1(3).Top = 0End IfIf Label1(4).Top > Picture1.Height Then cszmcswzLabel1(4).Left = wzLabel1(4).Caption = zmLabel1(4).Top = 0End IfIf Label1(5).Top > Picture1.Height ThencszmcswzLabel1(5).Left = wzLabel1(5).Caption = zmLabel1(5).Top = 0End IfEnd SubPrivate Sub Timer2_Timer() '剩余时间扣除计时syt = syt - 1 '扣除剩余个数中的一个Label4.Caption = "剩余时间:" & sytIf syt <= 0 ThenTimer1.Enabled = False ' 剩余个数小于等于0的时候结束练习'Label1.Caption = "" '不显示字母' Label6.Caption = ""Select Case dfCase Is <= 80MsgBox vbCrLf + "别放弃,再来一次!" ' 显示信息框Case Is < 120MsgBox vbCrLf + "成绩不错,加油!"Case Is < 150MsgBox vbCrLf + "再努力做的更好一些!"Case Is > 180MsgBox vbCrLf + "好厉害!最高分呀!"End SelectCommand4.Visible = TrueTimer1.Enabled = FalseTimer2.Enabled = FalseLabel1(0).Caption = ""Label1(1).Caption = ""Label1(2).Caption = ""Label1(3).Caption = ""Label1(4).Caption = ""Label1(5).Caption = ""Label1(0).Top = 0Label1(1).Top = 0Label1(2).Top = 0Label1(3).Top = 0Label1(4).Top = 0Label1(5).Top = 0End IfEnd Sub设定窗口代码:Option ExplicitPrivate Sub Command1_Click()If Option1.Value = True Thennd = 1ElseIf Option2.Value = True Thennd = 2Elsend = 3End IfIf Option4.Value = True Thensd = 1ElseIf Option5.Value = True Thensd = 2Elsesd = 3End IfForm2.Hidemand1.Visible = TrueEnd SubPrivate Sub Form_Load()Option1.Value = TrueOption4.Value = TrueEnd SubPrivate Sub Form_Unload(Cancel As Integer)Form2.HideEnd Sub模块代码:Option ExplicitPublic nd, sd, sd1 As Integer '定义公共变量难度和速度Public df, syt, wz As Integer '定义公共变量分数剩余时间Public zm As String '定义随机产生的字母Public Sub sdsd() '定义速度值If sd = 1 Thensd1 = 800ElseIf sd = 2 Thensd1 = 500Elsesd1 = 300 End If End Sub。

计算机打字训练文章

计算机打字训练文章

计算机打字训练文章计算机打字训练文章初学计算机是,我们都觉得非常难学,甚至很枯燥无味。

对于我这样一个好动的男孩来说更是如此。

刚开始学习时,也许是因为不习惯的缘故,我总觉得那里不太舒服,有些小朋友也不愿意学了。

只要老师布置了作业,便玩去了。

但经过了十几天的学习后,发现这种方法不太可行,就想出一个主意,就是在每次写完作业之后做一点计算机基础练习。

所以我决定还是坚持一下,最多每天做两篇。

其中有一篇课外作文,一篇300字的短文阅读,再加上一些课本知识问答题。

于是我就采用这种方法坚持练习着。

结果发现效果非常明显,成绩进步很大。

后来听了老师讲课,才知道原来这样也可以提高我们的成绩,同时又加深了印象。

下课后,老师告诉我们,平时应该多看一些电脑方面的书籍和报纸杂志,因为电脑上网时需要打字,不管是做作业,查资料,看新闻等等都离不开输入。

你们应该注意学习,我希望你们能够掌握一手好字。

,真是感觉时间飞快,我又要回家了。

妈妈也是告诉我写好字的重要性,所以我也告诉了妈妈我是怎么练字的,现在可以给你们汇报一下。

首先是我的写字姿势要正确,这是第一点;然后是每天坚持写一张作业,比如说语文的作文或者数学的练习;再然后是把作业写完了后,再练习一篇字,比如说课外的作文,并且做一些字词方面的题目。

还有一点就是做完了题目后要认真的检查,如果有错误就把它改正过来,并且用钢笔描一遍,以免下次犯同样的错误。

下午,爸爸到学校来接我,我把上午写好的字拿给他看,他看了也夸我写的很好,说我进步很快。

爸爸还告诉我:“练字是一件细致的事情,要仔细认真,并且要保持一种认真的态度。

”虽然只是简单的一句话,但是对我来说可谓受益匪浅。

因为他是从另外的一个角度来教育我,让我认识到,写好字是一个长期坚持的过程,不是三天打鱼,两天晒网的,不能够随心所欲的。

俗话说:“字如其人。

”字体也会直接影响一个人的性格。

所以,写好字很重要。

自从上了网络课程后,老师讲了很多关于写好字的方法,我们练字也不能只靠学校老师的指导,家长也应当参与进来,与孩子一起练字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<dos.h>#include<stdio.h>#include<conio.h>xfk(){char *zq=" ture",*cu="flase",*fs="score"; int i,j,hh=7;textcolor(YELLOW);gotoxy(3,6);cputs(zq);gotoxy(3,11);cputs(cu);gotoxy(3,16);cputs(fs);textcolor(GREEN);for(i=1;i<=3;i++){gotoxy(3,hh);putch('\311');for(j=4;j<=7;j++){gotoxy(j,hh);putch('\315');}gotoxy(8,hh); putch('\273');hh=hh+5;}hh=8;for(i=1;i<=3;i++) {gotoxy(3,hh); putch('\272'); gotoxy(8,hh); putch('\272');hh=hh+5;}hh=9;for(i=1;i<=3;i++) {gotoxy(3,hh); putch('\310');for(j=4;j<=8;j++) {gotoxy(j,hh);putch('\315');}gotoxy(8,hh);putch('\274');hh=hh+5;}textcolor(GREEN);}wcbk(){int thh,tlh;textcolor(WHITE);thh=1;tlh=1;gotoxy(tlh,thh);putch('\332');for(tlh=2;tlh<=78;tlh++){gotoxy(tlh,thh);putch('\304');}gotoxy(tlh,thh);putch('\277');tlh=1;for(thh=2;thh<=25;thh++) {gotoxy(tlh,thh);putch('\263');gotoxy(tlh+78,thh); putch('\263');}thh=25;gotoxy(tlh,thh);putch('\300');for(tlh=2;tlh<=78;tlh++) {gotoxy(tlh,thh);putch('\304');}gotoxy(tlh,thh);putch('\276');textcolor(GREEN);}lcbk(){int thh,tlh;textcolor(YELLOW);thh=3;tlh=10;gotoxy(tlh,thh);putch('\311');for(tlh=11;tlh<=70;tlh++){gotoxy(tlh,thh);putch('\315');}gotoxy(tlh,thh);putch('\273');tlh=10;for(thh=4;thh<=22;thh++){gotoxy(tlh,thh);putch('\272');gotoxy(tlh+61,thh);putch('\272');}thh=23;gotoxy(tlh,thh);putch('\310');for(tlh=11;tlh<=70;tlh++){gotoxy(tlh,thh);putch('\315');}gotoxy(tlh,thh);putch('\274');textcolor(GREEN);}zhhs(char lfilename[20]){int hh=5,lh=13,i,wz=0,cj=4,bj=1,thh,tlh,zq=0,cu=0,fs=0; char *zh,lsslzh,filezh;FILE *fp;if(!(fp=fopen(lfilename,"r"))){printf("cannot open file\n");exit(1);}while(1){wcbk();lcbk();xfk();for(i=1;i<=6;i++){fread(zh,50,1,fp);gotoxy(lh,hh);cputs(zh);hh=hh+3;if(feof(fp)) break;}fseek(fp,wz,0);for(hh=6;hh<=21;hh=hh+3) {for(lh=13;lh<=62;lh++){bj=1;gotoxy(lh,hh);putch(24);gotoxy(lh,hh);filezh=fgetc(fp);wz=wz+1;if((lsslzh=getch())==27) exit(1);if((lsslzh==8)&&!(hh==6&&lh==13)){bj=0;if((lh==13)&&(hh!=6)){putch(' ');lh=62;hh=hh-3;cj=cj-3;}else lh=lh-1;wz=wz-2;gotoxy(lh,hh);putch(' ');gotoxy(lh,cj);putch(' ');gotoxy(lh+1,hh);putch(' ');lh=lh-1;fseek(fp,wz,0);}gotoxy(lh,hh);if(filezh==EOF) return(lsslzh);if(filezh==lsslzh){putch(lsslzh);fs=fs+5;zq=zq+1;gotoxy(4,8);printf("%2d",zq);gotoxy(4,18);printf("%2d",fs);}else{if(bj){cu=cu+1;gotoxy(4,13);printf("%2d",cu); gotoxy(lh,hh);textcolor(RED);putch(lsslzh);gotoxy(lh,cj);putch(25);gotoxy(lh,hh);sound(980);delay(100000);nosound();textcolor(GREEN);}}}cj=cj+3;}delay(2000);textcolor(YELLOW);clrscr();wz=ftell(fp);hh=5;lh=13;cj=4;}}main(){int thh=3,tlh=10;char zh;char *filename, *lesson="1.College Life\n2.study Online\n3.Lesiure Activity\n4.Living on your own";window(1,1,20,40);textbackground(BLUE);textcolor(YELLOW);while(1){clrscr();printf("%s\n",lesson);printf("choice lesson number:");zh=getch();switch(zh){case 49: filename="e:\\fcp\\college.txt";break;case 50: filename="e:\\fcp\\study.txt";break;case 51: filename="e:\\fcp\\lesiure.txt";break;case 52: filename="e:\\fcp\\living.txt";break;case 27: exit(1);default: printf("enter file name:");scanf("%s",filename); }clrscr();zhhs(filename);clrscr();printf("continue practic(y\n):");if(getch()=='n') break;}}。

相关文档
最新文档