當前位置:編程學習大全網 - 源碼下載 - 如何用VB編寫拼圖遊戲?

如何用VB編寫拼圖遊戲?

Option Explicit

Dim i As Integer'定義循環變量

Dim j As Integer

Dim step As Integer

Dim x(8) As Integer'定義壹個數組,用來存放隨機編號

Private Sub Command1_Click()?

init'初始化遊戲

Command1.Enabled = False'使開始按鈕失效

End Sub

Private Sub Form_Load()?

Randomize'起始隨機數產生器

End Sub

Sub init()'初始化遊戲子程序

For i = 0 To 7'隨機產生不重復的8個編號(從0到7)

a0: x(i)=Int(Rnd*8)

For j = 0 To i - 1

If x(i)=x(j) Then GoTo a0

Next

Next

For i = 0 To 7

Image1(i).Enabled = True'使Image1響應鼠標事件

Image1(x(i)).Picture = PictureClip1.GraphicCell(i)'讓圖片的8個單元分別賦予 8個Image控件

Next

Image1(8).Picture = LoadPicture(“”)'空位用於移動圖片

End Sub

Private Sub Image1_Click(Index As Integer)'註意索引值的運用

Select Case Index Mod 3'把9個Image控件分成三列

Case 0'當鼠標點擊第1列時

If Image1(Index + 1).Picture = LoadPicture(“”) Then'判斷右邊是否為空

Image1(Index + 1).Picture = Image1(Index).Picture'交換圖片

Image1(Index).Picture=LoadPicture(“”)win'測試是否拼圖成功

End If

Case 1'當鼠標點擊第2列時

If Image1(Index - 1).Picture = LoadPicture(“”)Then'判斷左邊是否為空

Image1(Index - 1).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

If Image1(Index + 1).Picture = LoadPicture(“”)Then'判斷右邊是否為空

Image1(Index + 1).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

Case 2'當鼠標點擊第3列時

If Image1(Index - 1).Picture = LoadPicture(“”)Then'判斷左邊是否為空

Image1(Index - 1).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

End Select

Select Case Index\ 3'把9個Image控件分成三行

Case 0'當鼠標點擊第1行時

If Image1(Index + 3).Picture = LoadPicture(“”)Then'判斷下邊是否為空

Image1(Index + 3).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

Case 1'當鼠標點擊第2行時

If Image1(Index - 3).Picture = LoadPicture(“”)Then'判斷上邊是否為空

Image1(Index - 3).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

If Image1(Index + 3).Picture = LoadPicture(“”)Then'判斷下邊是否為空

Image1(Index + 3).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

Case 2'當鼠標點擊第3行時

If Image1(Index - 3).Picture = LoadPicture(“”)Then'判斷上邊是否為空

Image1(Index - 3).Picture = Image1(Index).Picture

Image1(Index).Picture=LoadPicture(“”)

win

End If

End Select

End Sub

Sub win()'測試是否拼圖成功的子程序

Dim num As Integer

step=step + 1'步數加1

Label2.Caption= step

For i = 0 To 8'判斷圖塊是否全部就位

If Image1(i).Picture= PictureClip1.GraphicCell(i) Then num = num + 1

Next

If num ?=8 Then

MsgBox “妳真棒!”

For i=0 To 8

Image1 (i).Enabled=False'使之不響應鼠標事件

Next

Command1.Enabled=True'恢復命令按鈕

End If

End Sub

  • 上一篇:事件查看器中的系統項目錯誤
  • 下一篇:WIfi的網關什麽意思?
  • copyright 2024編程學習大全網