7分04秒直接看效果

今天学习了刘金玉老师零基础VB教程的第49期,学习的主要内容是利用已学的知识制作一个打字小游戏。

1.思路:利用时钟控件和label控件top值的变化来控制字母的位置变化,再利用键盘的press事件来触发label控件回到起始位置,最后利用label控件的Caption值和我们实际按下的键对比,如果相同则记得分加1分。最后通过判断label控件的top值确定游戏是否结束。

2.如图新建label控件2个,其中label1控件为数组控件(只需要将label1控件的index值改为0即可),1个时钟控件,将interval值改为1000,1个line控件。

如何编写一个简单的vb的程序:制作一个打字小游戏(1)

3.输入代码:

如何编写一个简单的vb的程序:制作一个打字小游戏(2)

Dim score%

Private Sub Form_KeyPress(KeyAscii As Integer)

For i = 0 To 5 Step 1

If UCase(Chr(KeyAscii)) = Label1(i).Caption Then

score = score 1

Label2.Caption = "得分:" & score

Label1(i).Top = 0

Randomize

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

End If

Next i

End Sub

Private Sub Form_Load()

Dim i%

For i = 1 To 5 Step 1

Load Label1(i)

Next i

For i = 0 To 5 Step 1

Randomize

Label1(i).ForeColor = RGB(Rnd * 200, Rnd * 200, Rnd * 200)

Label1(i).FontSize = 31

Label1(i).Left = Int(Rnd * (ScaleWidth - Label1(i).Width))

Label1(i).Top = 0

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

Label1(i).Visible = True

Next i

End Sub

Private Sub Timer1_Timer()

For i = 0 To 5 Step 1

Randomize

Label1(i).Top = Label1(i).Top Rnd * 1000

If Label1(i).Top >= 6900 Then

Timer1.Enabled = False

MsgBox "游戏结束," & Label2.Caption

End If

Next i

End Sub

4.运行程序效果详见视频

,