vb小游戏 打地鼠
运行效果(动画)
窗体结构
注意下面有两个隐藏的锤子,临时存储锤子图片,作为image.picture被调用。这两个图片本来应该是左边抬起来,右边按下去,但是按下去的图片找不到了,临时用两个一样的锤子。
左上角两个textbox用来显示当前老鼠坐标,用于调试。
实验程序说明
Image 1 的picture 设为老鼠
Image 2 的picture 设为锤子0
Image 2 的picture 设为锤子1
Image 2 ,3 的visible 为false
做全局变量Dim n, s As Integer '定义全局变量
'变量n用来存储击中砖块的次数,变量s用来存储所用的时间,赋值0
三个时钟设为false
Timer1 interval 设为1000 程序里随级别设置为不同的值,值越小事件发生的越快。老鼠移动显示计时
Timer2 interval 设为30000 总计时
Timer3 interval 设为1000 显示刷新计时,每次事件发生时更新 击中次数和剩余时间。
在实际操作时,time2和timer3被我合并了。
代码
Dim n, s As Integer 'n是次数 s是时间
'初级
Private Sub Command1_Click()
Timer1.Interval = 1000
Timer1.Enabled = False
Command4.Enabled = True
End Sub
'中级
Private Sub Command2_Click()
Timer1.Interval = 800
Timer1.Enabled = False
Command4.Enabled = True
End Sub
'高级
Private Sub Command3_Click()
Timer1.Interval = 100
Timer1.Enabled = False
Command4.Enabled = True
End Sub
'开始
Private Sub Command4_Click()
n = 0: s = 0
Label1.Caption = "10" '初始化时间
Text1.Text = 0 '初始化击中次数
Image1.Visible = True '看到老鼠
Image1.Left = 0
Image1.Top = 0
Command1.Enabled = False: Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Timer1.Enabled = True
Timer3.Enabled = True
End Sub
Private Sub Command5_Click()
Unload Me '关闭
End Sub
'窗体初始化
Private Sub Form_Load()
Label1.Caption = 10
Label2.Visible = False
End Sub
'点到老鼠
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
n = n + 1
Text1.Text = n
Image1.MousePointer = 99 - custom
Image1.MouseIcon = Image3.Picture
End Sub
'鼠标抬起
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.MousePointer = 99 - custom
Image1.MouseIcon = Image2.Picture
End Sub
'点到空白
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.MousePointer = 99 - custom
Picture1.MouseIcon = Image3.Picture
End Sub
'锤子跟着鼠标移动
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.MousePointer = 99 - custom
Picture1.MouseIcon = Image2.Picture
End Sub
'鼠标在空白处抬起
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.MousePointer = 99 - custom
Picture1.MouseIcon = Image2.Picture
End Sub
'老鼠随机位置 6960 2520 默认960 1920
Private Sub Timer1_Timer()
Randomize
L = Int(Rnd * 6960 - 0) '横着移动的范围
T = Int(Rnd * 2520 - 960) '竖着移动的范围
Image1.Left = Picture1.Left + L
Image1.Top = Picture1.Top + T
Text2.Text = Image1.Left
Text3.Text = Image1.Top
End Sub
'倒计时
Private Sub Timer3_Timer()
s = Val(Label1.Caption)
s = s - 1
Label1.Caption = s
If s = 0 Then
Timer1.Enabled = False
Timer3.Enabled = False
Image1.Visible = False
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
If Text1.Text < 10 Then
MsgBox "成绩不咋地"
ElseIf Text1.Text < 20 Then
MsgBox "真厉害!"
Else
MsgBox "打鼠英雄"
End If
End If
End Sub