打字游戏,你的帮助好真诚。

这个也不难。。。。简单字符处理

构建新项目

在Form1上放一个PictureBox显示人物登陆区,只是为了美观。

将控制数组Label1(0-5)放入图片框中。picturebox和label1 (0-5)的背景颜色设置为相同。

下面放三个按钮。

Command1?“走”

命令2“暂停”

命令3“继续”

放一个滑块来控制速度。

然后添加一些标签。

Label2 "字符数:"后跟Label4,后跟Label3 " "

标签5“正确率:”后面是标签6,表示正确率的百分比。

Label7“时间:”

Label8用于显示时间。

标签9“秒”

Label10 "输入一个字符并按空格键启动"

Text1?用于输入字符。

Label11?用于显示一些信息。

Timer1用于处理字符掉落,间隔设置为50。

效果如图所示:

然后是代码:

私有声明函数timeGetTime Lib "winmm.dll "()为Long

私有声明函数WritePrivateProfileString Lib " kernel 32 " Alias " WritePrivateProfileString a "(ByVal lpApplicationName为String,ByVal lpKeyName为Any,ByVal lpString为Any,ByVal lpFilename为String)Long

私有声明函数GetPrivateProfileString Lib " kernel 32 "别名" GetPrivateProfileString a "(ByVal lpApplicationName为String,ByVal lpKeyName为Any,ByVal lpDefault为String,ByVal lpReturnedString为String,ByVal nSize为Long,ByVal lpFilename为String)长

私有类型赢

字符串形式的名称

秒一样长

结束类型

Dim ri一样长,ai一样长

将rst定义为布尔值

昏暗的时间一样长

Dim wTime() As Long

私有子命令1_Click()

rst =真

ai = 0

ri = 0

sTime = timeGetTime

对于i = 0到5

使不规则化

Label1(i)。Caption = Chr(Int(Rnd * 26 + 65))

Label1(i)。Top = CLng(Rnd * 200)

wTime(i) = Int(Rnd * 6)

然后

Text1。文本= " "

Text1。SetFocus

末端接头

私有子命令2_Click()

If命令2。Caption = "暂停"

命令2。Caption = "继续"

定时器1。启用=假

其他

命令2。Caption = "暂停"

定时器1。启用=真

如果…就会结束

末端接头

私有子命令3_Click()

rst =假

对于i = 0到5

Label1(i)。标题= " "

然后

末端接头

私有子窗体_Load()

rst =假

ri = 0

对于i = 0到5

Label1(i)。Top = 0

Label1(i)。标题= " "

然后

标签4。Caption = "0 "

标签6。Caption = "0% "

标签8。Caption = "0 "

Label11。标题= " "

ReDim wTime(5)

末端接头

private Sub text 1 _ KeyPress(KeyAscii为整数)

如果KeyAscii = 32且Text1。Text & lt& gt”“那么

ai = ai + 1

对于i = 0到5

如果UCase(Trim(Text1。Text)) = Label1(i)。标题然后

使不规则化

Label1(i)。Caption = Chr(Int(Rnd * 26 + 65))

Label1(i)。Top = CLng(Rnd * 200)

wTime(i) = Int(Rnd * 6)

KeyAscii = 0

Text1。文本= " "

ri = ri + 1

出口接头

如果…就会结束

然后

KeyAscii = 0

Text1。文本= " "

如果…就会结束

末端接头

私有子定时器1_Timer()

Dim xStr为字符串,ReadStr(9)为WIN

Dim rStr为字符串,pStr()为字符串

Dim使用时间为Long,ReadBl为Boolean

冬季昏暗温度

Dim TempStr作为字符串

如果rst =真,则

对于i = 0到5

Label1(i)。Top = Label1(i)。Top + (Slider1。value+1+wTime(I))* 15

如果Label1(i)。Top & gt图片1。那么高度

使不规则化

Label1(i)。Caption = Chr(Int(Rnd * 26 + 65))

Label1(i)。Top = CLng(Rnd * 200)

wTime(i) = Int(Rnd * 6)

ai = ai + 1

如果…就会结束

然后

如果ai & gt那么0

标签4。Caption = ai

标签6。caption = Int((ri/ai)* 100)amp;"%"

标签8。caption = CLng((time gettime-sTime)/1000)

如果…就会结束

如果ai & gt那就99

rst =假

Label11。Caption = "全部完成!"

use time = CLng((time gettime-sTime)/1000)

XStr = InputBox("字符数:" &;艾& amp“打”&;ri & amp"正确率:" &;int((ri/ai)* 100)& amp;" " & amp“,时间:“&;使用时间& amp“秒”&;vbCrLf & amp;"请输入你的名字:","游戏结束")

ReadBl = False

对于i = 0到9

rStr = INIRead("OPTION "," Win " & amp我,App。路径与路径。" \Config.ini ")

If InStr(rStr," | ")& gt;那么0

pStr = Split(rStr," | ")

ReadStr(i)。name = pStr(0)

ReadStr(i)。Sec = pStr(1)

如果xStr = ReadStr(i)。那就说出名字

ReadStr(i)。Sec =使用时间

ReadBl = True

如果…就会结束

其他

如果ReadBl = False,则

ReadStr(i)。name = xStr

ReadStr(i)。Sec =使用时间

如果…就会结束

为...退出

如果…就会结束

然后

对于i = 0到9

如果ReadStr(i)。Sec = 0,然后退出

对于j = i + 1到9

If ReadStr(j)。Sec = 0,然后退出

如果ReadStr(i)。Sec & gtReadStr(j)。那就等一下

Temp = ReadStr(i)

ReadStr(i) = ReadStr(j)

ReadStr(j) = Temp

如果…就会结束

然后

然后

TempStr = " "

对于i = 0到9

如果ReadStr(i)。Sec & gt那么0

INIWrite选项,赢。我,ReadStr(i)。姓名和名称。" | " & ampReadStr(i)。秒,应用程序。路径与路径。" \Config.ini "

如果TempStr = " "那么

TempStr = " the first " & amp;I+1 & amp;" & amp:" & amp;ReadStr(i)。姓名和名称。"?,时间:“&;ReadStr(i)。美国证券交易委员会。"秒"

其他

TempStr = TempStr & ampvbCrLf & amp;“第一”&;I+1 & amp;" & amp:" & amp;ReadStr(i)。姓名和名称。"?,时间:“&;ReadStr(i)。美国证券交易委员会。"秒"

如果…就会结束

如果…就会结束

然后

MsgBox TempStr,vbOKOnly,“性能排名”

如果…就会结束

如果ai-ri & gt;6然后

rst =假

Label11。Caption = "错误6次,结束。请重新开始!”

如果…就会结束

如果…就会结束

末端接头

私有函数INIRead(iAppName为String,iKeyName为String,iFileName为String)为String

Dim iStr美元,aaa美元

iStr = String(1000,Chr(0))

aaa = Left(iStr,GetPrivateProfileString(IAPP name,ByVal iKeyName,"",iStr,Len(iStr),iFileName))

INIRead = IIf(InStr(aaa,Chr(0))& gt;0,替换(aaa,Chr(0),""),aaa)

结束功能

私有函数INIWrite(iAppName为String,iKeyName为String,iKeyString为String,iFileName为String)

调用WritePrivateProfileString(IAPP name,iKeyName,iKeyString,iFileName)

结束功能