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控件。
3.输入代码:
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.运行程序效果详见视频
,