好文档 - 专业文书写作范文服务资料分享网站

vb小游戏代码 

天下 分享 时间: 加入收藏 我要投稿 点赞

数字排序小游戏

Option Explicit

Dim Label2X As Integer '记录标签控件数组中要移动的标签控件左上角X的位置 Dim Label2Y As Integer '记录标签控件数组中要移动的标签控件左上角Y的位置

'让标签数组中的每个标签控件上显示的数字是随机的,无重复的 Private Sub Init() Randomize Dim a(7) As Integer

Dim i As Integer, k As Integer

Label1.Caption = \

For i = 0 To 7 a(i) = i Next

For i = 0 To 7

k = Int(Rnd * 8)

Do While a(k) = -1 'a(k)=-1表示该数组元素对应的数字已经被使用过了 k = Int(Rnd * 8) '重新生成k的值,直到a(k)的值不等于-1 Loop

Label2(i).Caption = Trim(Str(a(k)))

a(k) = -1 'a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别

1

Next i End Sub

Private Sub Command1_Click() Dim x As Integer, y As Integer Dim z As Integer Init

Picture1.Enabled = True

'让空白标签Label1出现的位置随机 Randomize

'记录下空白标签Label1的位置 x = Label1.Left y = Label1.Top z = Int(Rnd * 8)

'将空白标签Label1和标签控件数组任一控件交换位置 Label1.Move Label2(z).Left, Label2(z).Top Label2(z).Move x, y

Command1.Enabled = False End Sub

Private Sub Command2_Click() End End Sub

Private Sub Form_Load() Dim i As Integer Picture1.Enabled = False

'在标签中显示游戏说明信息

Label3.Caption = \如左图所示,将数字按0-7顺\序依次排列,即取得胜利。\

'在标签中显示排列规则后的数字顺序 Label1.Caption = 0 For i = 0 To 6

Label2(i).Caption = i + 1 Next End Sub

2

Private Sub Label1_DragDrop(Source As Control, x As Single, y As Single)

Dim Label1X As Integer '记录空白控件Label1左上角X的位置 Dim Label1Y As Integer '记录空白控件Label1左上角Y的位置

Dim flag(3) As Boolean

'获取空白控件Label1的位置 Label1X = Label1.Left Label1Y = Label1.Top

'要移动的控件位于空白控件Label1的正左侧

flag(0) = (Label2X = Label1X - Source.Width) And (Label2Y = Label1Y)

'要移动的控件位于空白控件Label1的正右侧

flag(1) = (Label2X = Label1X + Source.Width) And (Label2Y = Label1Y)

'要移动的控件位于空白控件Label1的正上方

flag(2) = (Label2X = Label1X) And (Label2Y = Label1Y - Source.Height)

'要移动的控件位于空白控件Label1的正下方

flag(3) = (Label2X = Label1X) And (Label2Y = Label1Y + Source.Height)

If flag(0) Or flag(1) Or flag(2) Or flag(3) Then Label1.Move Label2X, Label2Y Source.Move Label1X, Label1Y End If Win End Sub

Private Sub Label2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbLeftButton Then '如果按下鼠标左键

'记录下要拖动控件的位置 Label2X = Label2(Index).Left Label2Y = Label2(Index).Top

Label2(Index).Drag 1 '启动拖动操作 End If End Sub

Private Sub Label2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Label2(Index).Drag 2 '结束拖动操作

3

End Sub

Private Sub Win() Dim winner As Integer Dim i As Integer Dim answer As Integer

'对于给定的标签控件数组中的任一标签控件,可以落在符合要求(对应位置应显示对应数字) '的八个位置中的任一位置

'利用循环语句对标签控件数组中的每个标签控件进行检查,如果其落在某一符号要求的位置, '则变量winner的值加1,如果所有标签控件都落在符号要求的位置,则变量winner的值应为8

For i = 0 To 7

If Label2(i).Left = 0 And Label2(i).Top = 0 And _ Label2(i).Caption = 0 Then winner = winner + 1

ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = 0 And _ Label2(i).Caption = 1 Then winner = winner + 1

ElseIf Label2(i).Left = 2 * Label2(i).Width And Label2(i).Top = 0 And _ Label2(i).Caption = 2 Then winner = winner + 1

ElseIf Label2(i).Left = 0 And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 3 Then winner = winner + 1

ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 4 Then winner = winner + 1

ElseIf Label2(i).Left = 2 * Label2(i).Width And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 5 Then winner = winner + 1

ElseIf Label2(i).Left = 0 And Label2(i).Top = 2 * Label2(i).Height And _ Label2(i).Caption = 6 Then winner = winner + 1

ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = 2 * Label2(i).Height And _ Label2(i).Caption = 7 Then winner = winner + 1 End If Next i

If winner = 8 Then

MsgBox \恭喜您,胜利了!\提示\ Picture1.Enabled = False

answer = MsgBox(\还继续吗?\提示\

4

If answer = vbYes Then Command1.Enabled = True Else End End If End If End Sub

弹球游戏

Dim x_step As Integer Dim y_step As Integer

Private Sub command1_Click() If Timer1.Enabled = True Then Timer1.Enabled = False Else

Timer1.Enabled = True End If

If command1.Caption = \暂停\ command1.Caption = \继续\ Else

command1.Caption = \暂停\ End If End Sub

5

vb小游戏代码 

数字排序小游戏OptionExplicitDimLabel2XAsInteger'记录标签控件数组中要移动的标签控件左上角X的位置DimLabel2YAsInteger'记录标签控件数组中要移动的标签控件左上角Y的位置'让标签数组中的每个标签控件上显示的数字是随机的,无重复的PrivateS
推荐度:
点击下载文档文档为doc格式
1yaml5tvxo0daes3z427
领取福利

微信扫码领取福利

微信扫码分享