VB打字游戏课程设计报告_第1页
VB打字游戏课程设计报告_第2页
VB打字游戏课程设计报告_第3页
VB打字游戏课程设计报告_第4页
VB打字游戏课程设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容摘要:本程序是利用vb编写的一个打字游戏,游戏具有功能:上方有文字掉下,按键可将其击掉,有速度选择,难度选择,难度低时为单个字符,难度高时为单词。本游戏,可以让用户从零开始逐步变为打字高手,短时间内运指如飞!48小时成为打字高手,寓教于乐。本设计报告包括初始的设计想法,概要设计和详细设计。详细设计包括界面设计和所需代码,及其运行后的结果图,以便具体使用。本设计适用于VB初学者、爱好者的参考资料。由于编者水平有限,时间仓促,难免有不足之处,敬请读者不吝赐教。目 录1. 功能描述32. 概要设计33. 详细设计44. 效果及存在问题95. 心得体会12小组成员12参考文献121功能描述本程序是

2、利用vb编写的一个打字游戏,游戏可以选择难易程度,选择简单时上方掉落的是单个字符,选择困难时上方掉落的是单词,当正确按键时可以将其击掉,成绩相应增加一分,开始前可以选择游戏速度,点击加减按钮可以调节游戏速度。本程序还有许多实用功能,可以将游戏暂停、继续、从来、结束等。2概要设计打字游戏简单方框图:屏幕上方掉落单个字符时键盘输入对应的单个字符屏幕上的单个字符消失与单词最比较相同时单词消失屏幕上方掉落为单词时键盘输入对应的单词单词存在在标签label8的caption上3详细设计(1)界面设计在窗体上添加6个命令按钮command1、command2、 command3 、command4、Com

3、mand5 command6、8个标签Label1、Label2、Label3、Label4、Label5、Label6、Label7、Label8、2个定时器time1、time2、1个文本框text1和2个单选按钮option1、option2按表修改它们的属性,如图所示。对象属性值Command1Caption加Command2Caption减Command3Caption开始Command4Caption结束Command5Caption暂停/继续Command6Caption重来Label1CaptionLabel2CaptionLabel3Caption成绩Label4Captio

4、n速度Label5Caption18Label6CaptionLabel7CaptionLabel8Captiontime1Interval0Time2Interval0Option1Caption简单Option2Caption困难Text1text(2)编写程序代码如下:Private Sub Command1_Click()'曾加速度Label5.Caption = Label5.Caption + 1End Sub'减小速度Private Sub Command2_Click()Label5.Caption = Label5.Caption - 1End Sub'

5、;开始游戏Private Sub Command3_Click()If Option1.Value ThenTimer1.Interval = 1Timer2.Interval = 0Label7.Caption = ""Label1.Top = 8760Label6.Top = 8760Label1.Visible = TrueLabel6.Visible = TrueEnd IfIf Option2.Value ThenTimer2.Interval = 1Timer1.Interval = 0Label1.Caption = ""Label6.Ca

6、ption = ""RandomizeClsa = Array("one", "two", "three", "free", "feel", "fly", "lacking", "the", "power", "that")x = Int(Rnd * (UBound(a) + 1)Label7.Caption = a(x)Command1.Enabled = FalseComm

7、and2.Enabled = FalseLabel7.Top = 0Label7.Visible = TrueEnd IfText1.SetFocusEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer)'判断简单时是否打中,并使成绩加一If Option1.Value ThenTimer1.Interval = 1If KeyAscii = Asc(Label1.Caption) Then Label1.Top = 0 Label1.Left = Rnd() * 10800 Label1.Caption = Chr$(Rnd() *

8、 26 + 97) Label2.Caption = Label2.Caption + 1 End IfIf KeyAscii = Asc(Label6.Caption) Then Label6.Top = 0 Label6.Left = Rnd() * 10800 Label6.Caption = Chr$(Rnd() * 26 + 97) Label2.Caption = Label2.Caption + 1 End If End If '判断困难时是否打中,并使成绩加一If Option2.Value ThenTimer2.Interval = 1End If If KeyAsc

9、ii >= 65 And KeyAscii <= 86 Or KeyAscii >= 97 And KeyAscii <= 122 Then Label8.Caption = Label8.Caption & Chr(KeyAscii) ElseIf KeyAscii = 32 Then Label8.Caption = "" Text1.Text = "" End If If Label7.Caption = Label8.Caption Then Label7.Caption = "" Label8

10、.Caption = "" Text1.Text = "" Label7.Top = 0 Label7.Left = Rnd() * 10800 Randomize Cls a = Array("one", "two", "three", "free", "feel", "fly", "lacking", "the", "power", "that") x

11、= Int(Rnd * (UBound(a) + 1) Label7.Caption = a(x) Label2.Caption = Label2.Caption + 1End IfEnd Sub'结束Private Sub Command4_Click()EndEnd Sub'暂停或继续游戏Private Sub Command5_Click()Static f As IntegerIf f = 0 ThenTimer1.Interval = 0Timer2.Interval = 0f = 1Command3.SetFocusElseTimer1.Interval = 1Ti

12、mer2.Interval = 1f = 0Command3.SetFocusEnd IfEnd Sub'重新游戏Private Sub Command6_Click()Timer1.Interval = 0Label2.Caption = 0Label5.Caption = 18Timer1.Interval = 0Timer2.Interval = 0Label1.Visible = FalseLabel6.Visible = FalseLabel7.Visible = FalseLabel1.Caption = ""Label6.Caption = "

13、;"Label7.Caption = ""Command1.Enabled = TrueCommand2.Enabled = TrueEnd SubPrivate Sub Timer1_Timer() Randomize'简单时游戏速度Label1.Top = Label1.Top + Label5.CaptionLabel6.Top = Label6.Top + Label5.Caption + 15'判断是否到底,并随机生成字母,从顶开始 If Label1.Top > 8760 Then Label1.Top = 0 Label1.Le

14、ft = Rnd() * 10800 Label1.Caption = Chr$(Rnd() * 26 + 96)End IfIf Label6.Top > 8760 Then Label6.Top = 0 Label6.Left = Rnd() * 10800 Label6.Caption = Chr$(Rnd() * 26 + 96) End IfEnd SubPrivate Sub Timer2_Timer()Randomize'困难时游戏速度Label7.Top = Label7.Top + Label5.Caption + 10'判断是否到底,并随机生成单词,从

15、顶开始If Label7.Top > 8760 Then Label7.Top = 0 Label7.Left = Rnd() * 10800RandomizeClsa = Array("one", "two", "three", "free", "feel", "fly", "lacking", "the", "power", "that")x = Int(Rnd * (UBound(a)

16、 + 1)Label7.Caption = a(x) Else Label7.Top = Label7.Top + 5End IfEnd Sub4效果及存在问题运行后得到如图界面选择简单模式时,单击开始,上方掉落的是单个字符选择困难模式时,单击开始,上方掉落的是单词存在问题: 1结束时没有提示是否确定结束游戏 2 游戏还缺许多人性化设计5.心得体会 通过本次的VB实验程序设计,使我对VB课程有进一步的了解,使自己的上机能力有大幅度提升,在设计这个程序时,首先我开始构思游戏的内容,再从书本、网上找了一些有关打字游戏设计的资料,但是当把基本的弄好了之后,发现了一些棘手的问题,使我无从下手,经过与同学的商讨和老师的指导后,终于明白了其中的奥妙:其实在打字游戏程序上花费最多事时间是在键盘的输入如何问题,当对应的输入和掉落的单个字符、单词相同时屏幕上的单个字符、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论