为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VB课程设计 打字游戏

2019-02-21 11页 doc 33KB 27阅读

用户头像

is_594905

暂无简介

举报
VB课程设计 打字游戏内容摘要 本有游戏主要针对指法练习,并提供字母和单词两种选择。根据用户自身情况,可以进行速度调节,以达到最佳的练习效果。同时本游戏提供显示时间,得分,正确率和失败个数的功能。当失败个数超过一定个数后,游戏结束并提示是否继续。 目录 内容摘要    1 1功能描述    3 1.1简单模式    3 1.2复杂模式    3 2概要设计    4 3详细设计    5 3.1窗体控件设计    5 3.2各模块功能    6 3.1.1随机产生字母和选取单词函数    6 3.1.2窗体    6 3.1.3开始按钮    7...
VB课程设计 打字游戏
内容摘要 本有游戏主要针对指法练习,并提供字母和单词两种选择。根据用户自身情况,可以进行速度调节,以达到最佳的练习效果。同时本游戏提供显示时间,得分,正确率和失败个数的功能。当失败个数超过一定个数后,游戏结束并提示是否继续。 内容摘要    1 1功能描述    3 1.1简单模式    3 1.2复杂模式    3 2概要    4 3详细设计    5 3.1窗体控件设计    5 3.2各模块功能    6 3.1.1随机产生字母和选取单词函数    6 3.1.2窗体    6 3.1.3开始按钮    7 3.1.4暂停按钮    8 3.1.5退出按钮    8 3.1.6键盘事件    8 3.1.7计时器1    9 3.1.8计时器2    10 3.3程序调试及运行结果    11 3.4效果及存在的问    13 4心得体会    14 参考文献    15 1功能描述 图1 游戏开始界 1.1简单模式 本模式提供字母练习。当用户运行游戏,选择简单模式后,点击开始按钮开始练习,并开始计时。游戏开始后,随机掉下一些字母,敲击对应键盘,字母消失。如果字母掉落到底部,则掉落个数增加1个。当掉落个数为26时,游戏结束,并提示用户是否继续。游戏过程中按“暂停”按钮暂停有游戏,按“退出”按钮退出游戏。 1.2复杂模式 本模式提供单词练习。当用户运行游戏,选择复杂模式后,点击开始按钮开始练习,并开始计时。游戏开始后,随机掉下一些单词,输入对应单词(如果输错,敲空格清除),并敲空格键,单词消失。如果单词掉落到底部,则掉落个数增加1个。当掉落个数为26时,游戏结束,并提示用户是否继续。游戏过程中按“暂停”按钮暂停有游戏,按“退出”按钮退出游戏。 2概要设计 图 游戏过程中可以按“暂停”按钮暂停有游戏,并且停止计时。按“退出”按钮退出游戏 3详细设计 3.1窗体控件设计 图3.1 窗体界面 部分窗体控件及其属性 对象 属性 属性值 Form1 Caption 打字游戏 KeyPreview True HScroll1 Max 160 Min 40 Value 100       表3.1 控件及属性值 3.2各模块功能 3.1.1随机产生字母和选取单词函数 Private Function suiji() '随机产生字母和随机选取单词函数 Dim a As Integer Dim b As String Randomize word = Array("sway", "sneak", "naked", "maple", "ample", "lough", "plasma", "tude", "plague", "pledge", "play", "prowl", "pluckbandit", "gangster", "commemorate", "solar", "elipse", "luna", "lunatic", "tumble", "mortal", "moral", "fade", "flinch", "spout", "sprout", "spurn", "spoil", "sparrow", "sprain", "plasma", "mare", "malady", "glisten", "bereave", "glimme", "rslim", "crave", "amiable", "able", "blizzard", "lizard", "bruise", "bromide", "place", "bale") '存放供练习的单词 b = Int(Rnd * (UBound(word) + 1)) '产生单词序号 a = Int((122 - 97 + 1) * Rnd + 97) '产生97到122之间的整数 If Option1.Value Then suiji = Chr(a) '如果选择简单单选框,则函数的返回值为小写字母 Else suiji = word(b) '如果选择复杂单选框,则函数的返回值为单词 End If End Function 3.1.2窗体 Private Sub Form_Load() Text1.Top = -1000 Label6.Caption = "正确率:0" Label4.Caption = "时间 00:00:00" Timer2.Enabled = False Timer1.Enabled = False Label2.BackStyle = 0 Label3.BackStyle = 0 Label4.BackStyle = 0 Label5.BackStyle = 0 Label6.BackStyle = 0 '将标签2到6的背景设为透明 For i = 0 To Label1.Count - 1 Label1(i).Visible = False '将标签Label1(1)到Label1(5)的初始状态设为不可见 Label1(i).Top = 600 * (i + 1) '设置字母或单词的的位置 Label1(i).Caption = suiji '最初出现的字母或者单词 Label1(i).FontSize = 25 '设置字体大小 Label1(i).AutoSize = True '标签大小自动可调 Label1(i).BackStyle = 0 '透明 Next Label3.Caption = "掉落个数:" & n Label5.Caption = "当前得分:" & h Label2.ForeColor = RGB(0, 255, 0) Label5.ForeColor = RGB(0, 255, 0) Label3.ForeColor = RGB(0, 255, 0) Label6.ForeColor = RGB(255, 0, 0) Label4.ForeColor = RGB(255, 0, 255) '设置字体颜色 End Sub 3.1.3开始按钮 Public Sub Command1_Click() '开始按钮 Dim i% If Option2.Value Then i = MsgBox("输入单词后,请按空格键确认", , "注意") '操作提示 End If For i = 0 To Label1.Count - 1 Label1(i).Visible = True Label1(i).Caption = suiji Label1(i).ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) '随机产生字母,单词,颜色随机 Next Timer1.Enabled = True Timer2.Enabled = True HScroll1.Enabled = False Option1.Enabled = False Option2.Enabled = False Command1.Enabled = False '将计时器,速度调节,难度选择和开始按钮禁用 Text1.SetFocus '将焦点转移到文本框 End Sub 3.1.4暂停按钮 Private Sub Command2_Click() '暂停按钮 Timer1.Enabled = False Timer2.Enabled = False End Sub 3.1.5退出按钮 Private Sub Command3_Click() '退出按钮 If MsgBox("确定要退出?", vbYesNo) = vbYes Then MsgBox "得分" & h & "分", , "成绩" '退出提示 Unload Me '关闭窗体 End If End Sub 3.1.6键盘事件 Private Sub Form_KeyPress(KeyAscii As Integer) Dim b As Integer Dim c As Integer If KeyAscii >= 97 And KeyAscii <= 122 Then ci = ci + Chr(KeyAscii) '将输入的单词赋值给空字符串ci End If b = -1 c = -1 If Option1.Value Then '选择简单 For i = 0 To Label1.Count - 1 '遍历所有产生字母 If Label1(i).Caption = Chr(KeyAscii) Then '判断产生的字母和输入的字母是否相等 If Label1(i).Top > b Then '判断字母是否已经落出 c = i End If End If Next Else If KeyAscii = 32 Then '如果敲了空格,则进行单词比较操作 For i = 0 To Label1.Count - 1 '遍历所有产生字母 If Label1(i).Caption = ci Then '判断产生的单词和输入的单词是否相等 If Label1(i).Top > b Then '判断字母是否已经落出 c = i End If End If Next ci = "" End If End If If c > -1 Then
/
本文档为【VB课程设计 打字游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索