1 数字排序小游戏 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 与其他的元素值相区别 2 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 顺" & vbCrLf & vbCrLf & "序依次排列,即取得胜利。" '在标签中显示排列规则后的数字顺序 Label1.Caption = 0 For i = 0 To 6 Label2(i).Caption = i + 1 Next End Sub 3 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) '要移动...