一个最简单的vb打字游戏代码。
这个程序用于打字练习,训练和提高打字速度。可以选择小写字母、大写字母、大小写混合、特殊字符、数字、混合字符、汉字等七种练习方法。
程序启动后,字符随机出现和落下。如果练习者键入的字符是正确的,字符会变红并变大,然后迅速缩小,最后消失。
该程序可以显示练习者的成绩,正确率和每分钟的打字速度。双击练习中的窗口以清除数据并重新开始。练习字母或汉字输入时注意将输入法切换到正确的状态。
'?'下面是表单代码,在?VB6.0?调试通过:
将以下内容放在表单上?6?控件:
?Option1:?用于字符类型选择。
?Label1:用于显示下落的字符。
?Label2:用于显示游戏信息。
?Timer1:用于移动字符。
?Picture1:下落字符的背景
?Text1:用于显示玩家输入的字符。
在“属性”窗口中,设置。Option1?然后呢。Label1?什么事?指数?属性设置为?0,其他控件和属性不需要设置,使用默认属性即可。
如果你想练习打汉字,用记事本在项目所在的目录下创建一个文本文件。文件名是HanZi.txt。
?在该文本文件中输入练习中使用的汉字,如:汉字=中国人* * *和中国,伟大的奥运!
?请注意,输入的前三个字符必须是:中文字符=
本人创作,转载请注明出处:/100 BD/blog/item/633 b 6467 DBF DD 828 aa 184 CDB . html。
暗淡?ctY?作为?单身,?ctCount?作为?龙,?ctFinish?作为?龙,?ctTime?作为?单一的
暗淡?ctSize?作为?单身,?ctStr?作为?字符串,?ctStrS?作为?龙,?ctNoCheck?作为?布尔代数学体系的
私人?Sub?Form_Load()
暗淡?我?作为?长的
我。关键评论?=?真实:?我。标题?=?《键盘打字速度练习》
Text1。文字?=?"":?ctSize?=?36?显示字符大小
我。背景色?=?RGB(50,?50,?155):?图片1。背景色?=?RGB(100,?100,?255)
标签2。背景色?=?我。背景色:?标签2。前景色?=?& ampHFFFFFF
标签2。标题?=?“成绩:?0%":?标签2。自动调整大小?=?真实:?用于显示性能信息。
我。搬家?屏幕。宽度?*?0.1,?屏幕。身高?*?0.1,?屏幕。宽度?*?0.8,?屏幕。身高?*?0.8
设置?Label1(0)。集装箱?=?图片1
Label1(0).Font.Bold?=?真实:?Label1(0)。背景风格?=?0?用于显示行踪的字符。
Label1(0)。使用记忆法?=?假:?Label1(0)。自动调整大小?=?真实的
为了什么?我?=?0?去哪?4?同时出现的字符数,设置为。5、可修改
如果?我?& gt?0?然后呢?加载?标签1(I)
然后
Option1(0)。背景色?=?我。背景色:?Option1(0)。前景色?=?& ampHFFFFFF
为了什么?我?=?0?去哪?六
如果?我?& gt?0?然后呢?加载?选项1(I)
然后
Option1(0)。标题?=?“小写字母”:选项1(1)。标题?=?"大写字母"
选项1(2)。标题?=?“大小写混合字母”:选项1(3)。标题?=?"特殊字符"
选项1(4)。标题?=?“数字”:选项1(5)。标题?=?"混合字母和字符"
选项1(6)。标题?=?“汉字”:
为了什么?我?=?0?去哪?选项1。数数?-?1
选项1(I)。可见?=?真实的
然后
Option1(0)。价值?=?真实的
打电话?开始播放
ctY?=?图片1。ScaleY(5,3,?图片1。ScaleMode)?人物下降速度(此处?5?像素),可以修改。
定时器1。启用?=?真实:?定时器1。区间?=?50
结束?潜水艇
私人?Sub?表单_激活()
开?错误?简历?然后
Text1。SetFocus
结束?潜水艇
私人?Sub?Text1_Change()
暗淡?我?作为?长的
如果?ctNoCheck?还是?Len(Text1。正文)?& lt?11?然后呢?退出?潜水艇
ctNoCheck?=?真实的
我?=?Text1。SelStart:如果?我?=?0?然后呢?我?=?1
Text1。文字?=?Mid(Text1。文字,?我,?1)
Text1。SelStart?=?Len(Text1。正文)
ctNoCheck?=?错误的
结束?潜水艇
私人?Sub?Form_KeyPress(KeyAscii?作为?整数)
暗淡?我?作为?龙,?nStr?作为?字符串,?t?作为?单一的
nStr?=?人权专员(KeyAscii)
如果?nStr?=?"?"?然后呢?nStr?=?"(空间)"
为了什么?我?=?0?去哪?Label1。数数?-?1
如果?nStr?=?Label1(I)。标题?然后呢。Label1(I)。标签?=?"1"?然后
Label1(I)。前景色?=?255:?Label1(I)。标签?=?"2"
Label1(I).Font.Size?=?ctSize?*?四
t?=?图片1。ScaleHeight?-?Label1(I)。高度
如果?Label1(I)。Top?& gt?t?然后呢?Label1(I)。Top?=?T
ctFinish?=?ctFinish?+?1:?打电话?ShowInf
退出?潜水艇
结束?如果
然后
结束?潜水艇
私人?Sub?ShowInf()
暗淡?nStr?作为?字符串,?t?作为?龙,?m?作为?龙,?h?作为?龙,?StrT?作为?字符串,?v?作为?长的
如果?ctCount?& gt?0?然后呢?nStr?=?格式(ctFinish?/?ctCount?*?100,?"0.0")?不然呢?ctCount?=?"0"
nStr?=?"正确率:"?& amp?nStr?& amp?"%"
nStr?=?"总计:"?& amp?ctCount?& amp?vbCrLf?& amp?vbCrLf?& amp?“正确:“?& amp?ctFinish?& amp?vbCrLf?& amp?vbCrLf?& amp?nStr
t?=?Int(定时器?-?ctTime)
如果?t?& gt?0?然后呢?v?=?ctFinish?/?t?*?60
h?=?t?\?3600:?t?=?t?Mod?3600
m?=?t?\?60:?t?=?t?Mod?60
如果?h?& gt?0?然后呢?StrT?=?h?& amp?":"
如果?h?& gt?0?还是?m?& gt?0?然后呢?StrT?=?StrT?& amp?m?& amp?"'"
StrT?=?" 12:34'"'****调试代码
nStr?=?nStr?& amp?vbCrLf?& amp?vbCrLf?& amp?"时间:"?& amp?StrT?& amp?t?& amp?""""
标签2。标题?=?nStr?& amp?vbCrLf?& amp?vbCrLf?& amp?“速度”:& amp?v?& amp?"字/分钟"
结束?潜水艇
私人?Sub?Form_Resize()
暗淡?我?作为?龙,?l?作为?单身,?t?作为?单身,?w?作为?单身,?h?作为?单身,?MaxW?作为?单一的
Text1。字体。大小?=?16:?标签2。字体。大小?=?12
H1?=?我。TextHeight("1 ")
l?=?H1:?t?=?H1
为了什么?我?=?0?去哪?选项1。数数?-?1
选项1(I)。可见?=?真实:?w?=?我。TextWidth(选项1(I))。标题?& amp?"123456")
如果?MaxW?& lt?w?然后呢?MaxW?=?W
选项1(I)。搬家?l,?t,?w,?H1?*?1.25
t?=?t?+?H1?*?1.5
然后
标签2。搬家?l?*?0.8,?t?+?H1
h?=?我。ScaleHeight?-?Text1。高度
l?=?l?+?MaxW:?w?=?我。ScaleWidth?-?L
如果?w?& gt?0?然后呢。h?& gt?0?然后呢?图片1。搬家?l,?0,?w,?H
w?=?我。ScaleWidth?-?L
如果?w?& gt?0?然后呢?Text1。搬家?l,?图片1。身高,?W
结束?潜水艇
私人?Sub?Picture1_Click()
Text1。SetFocus
结束?潜水艇
私人?Sub?Picture1_DblClick()
打电话?开始播放
结束?潜水艇
私人?Sub?开始播放()
ctFinish?=?0:?ctCount?=?0:?ctTime?=?计时器
为了什么?我?=?0?去哪?Label1。数数?-?1
Label1(I)。标签?=?"":?Label1(I)。可见?=?错误的
然后
结束?潜水艇
私人?Sub?Option1_Click(Index?作为?整数)
GetStr?索引
打电话?开始播放
开?错误?简历?然后
Text1。SetFocus
结束?潜水艇
私人?Sub?GetStr(nMode?作为?整数)
暗淡?Str1?作为?字符串,?Str2?作为?弦,?Str3?作为?线
Str1?=?"?abcdefghijklmnopqrstuvwxyz "
Str2?=?"?~!@#$%^&;*()_+|-= \ { }:" " & lt;& gt?[];',./"
Str3?=?"0123456789"
选择?案子?nMode
案子?1:?ctStr?=?UCase(Str1)?大写字母
案子?2:?ctStr?=?Str1?& amp?UCase(Str1)?混合大小写字母
案子?3:?ctStr?=?Str2:'特殊字符
案子?4:?ctStr?=?Str3:'数字
案子?5:?ctStr?=?Str1?& amp?UCase(Str1)?& amp?Str2?& amp?Str3?混合大小写和特殊字符
案子?6:?ctStr?=?ReadText():?汉字
案子?否则:?ctStr?=?Str1:'小写字母
结束?挑选
ctStrS?=?镜头(ctStr)
结束?潜水艇
私人?功能?ReadText()?作为?线
从文本文件中读出汉字来练习汉字。
暗淡?f?作为?字符串,?h?作为?龙,?nStr?作为?线
开?错误?GoTo?氧化铜
f?=?App。小路
如果?右(F,?1)?& lt& gt?"\"?然后呢?f?=?f?& amp?"\"
f?=?f?& amp?" HanZi.txt "
h?=?自由文件
开放?f?为了什么?输入?作为?#H
线?输入?#H,?nStr
接近?#H
如果?左(nStr,3)?& lt& gt?“汉字=?然后呢?GoTo?厝?检查文件标签
nStr?=?Trim(Mid(nStr,4))
如果?nStr?=?""?然后呢?GoTo?氧化铜
ReadText?=nStr
ReadText?=?“中华人民共和国”??* * * *调试代码
退出?功能
cuo:
ReadText?=?"错误"
结束?功能
私人?Sub?RndStr(我?作为?龙)
随机字符和位置
静电?xUp?作为?单一的
暗淡?x?作为?单身,?w?作为?单身,?s?作为?长的
如果?Label1(I)。标签?& lt& gt?""?然后呢?退出?潜水艇
Label1(I).Font.Size?=?ctSize:?Label1(I)。前景色?=?& ampHFFFFFF
随机化:?s?=?1?+?Int(Rnd?*?ctStrS):?Label1(I)。标题?=?Mid(ctStr,?s,?1)?随机字符
如果?Label1(I)。标题?=?"?"?然后呢?Label1(I)。标题?=?"(空间)"
使不规则化
w?=?图片1。刻度宽度
做什么?随机位置:确保没有重叠。
x?=?Rnd?*?(W?-?Label1(I)。宽度)
s?=?s?+?1
如果?s?& gt?100?还是?w?& lt?Label1(I)。宽度?*?2?然后呢?退出?做
如果?Abs(xUp?-?x)?& gt?Label1(I)。宽度?然后呢?退出?做
环
Label1(I)。搬家?x,?-ctY
xUp?=?x
Label1(I)。可见?=?真实:?Label1(I)。标签?=?"1"
ctCount?=?ctCount?+?1:?打电话?ShowInf
结束?潜水艇
私人?Sub?定时器1 _定时器()
暗淡?我?作为?龙,?NextI?作为?龙,?s?作为?单身,?Have1?作为?布尔,?t?作为?长的
为了什么?我?=?0?去哪?Label1。数数?-?1
如果?Label1(I)。标签?& lt& gt?""?然后
Have1?=?真实的
Label1(I)。Top?=?Label1(I)。Top?+?ctY
如果?Label1(I)。标签?=?"2"?然后呢?击中了角色。
s?=?Label1(I).Font.Size?*?0.7
如果?s?& gt?3?然后呢?Label1(I).Font.Size?=?s?不然呢?Label1(I)。标签?=?"":?Label1(I)。可见?=?错误的
结束?如果
如果?Label1(I)。Top?& gt?图片1。ScaleHeight?然后呢?Label1(I)。标签?=?"":?Label1(I)。可见?=?错误的
如果?Label1(I)。Top?& gt?图片1。ScaleHeight?*?0.2?然后呢?超过表单的高度?1/5?,出现下一个字符
NextI?=?我?+?1
如果?NextI?& gt?Label1。数数?-?1?然后呢?NextI?=?0
RndStr?NextI
结束?如果
结束?如果
然后
如果?不是吗?Have1?然后呢?RndStr?0?都消失了。
t?=?t?+?定时器1。间隔
如果?t?& gt?200?然后呢?t?=?0:?打电话?ShowInf
结束?潜水艇
本人创作,转载请注明出处:/100bd/blog/item/633 b 6467 DBF DD 828 aa 184 CDB . html参考:/100 BD。