?? game1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "拼圖游戲"
ClientHeight = 4215
ClientLeft = 60
ClientTop = 345
ClientWidth = 3555
LinkTopic = "Form1"
ScaleHeight = 4215
ScaleWidth = 3555
StartUpPosition = 3 '窗口缺省
Begin VB.PictureBox Picture1
Height = 1035
Index = 8
Left = 2240
Picture = "game1.frx":0000
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 9
Top = 2840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 7
Left = 1240
Picture = "game1.frx":1FF8
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 8
Top = 2840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 6
Left = 240
Picture = "game1.frx":54CF
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 7
Top = 2840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 5
Left = 2240
Picture = "game1.frx":80A9
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 6
Top = 1840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 4
Left = 1240
Picture = "game1.frx":B523
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 5
Top = 1840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 3
Left = 240
Picture = "game1.frx":E4DF
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 4
Top = 1840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 2
Left = 2240
Picture = "game1.frx":10D5D
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 3
Top = 840
Width = 1035
End
Begin VB.PictureBox Picture1
AutoSize = -1 'True
Height = 1035
Index = 1
Left = 1240
Picture = "game1.frx":1325A
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 2
Top = 840
Width = 1035
End
Begin VB.PictureBox Picture1
Height = 1035
Index = 0
Left = 240
Picture = "game1.frx":15DCE
ScaleHeight = 975
ScaleWidth = 975
TabIndex = 1
Top = 840
Width = 1035
End
Begin VB.CommandButton Command1
Caption = "開局"
Height = 495
Left = 1200
TabIndex = 0
Top = 120
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim ImageID(8) As Integer '記錄圖片排列順序的數(shù)組
Dim Position As Integer '被點擊的圖片位置
Dim XPosition As Integer '空圖片的位置
Dim MoveTimes As Integer '記錄移動次數(shù)
Dim CalPosition As Integer '用于計算位置
Dim Started As Boolean
Dim Win As Boolean
Dim pic(8) As Picture
'雙擊Form1,加入代碼:
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 8
Set pic(i) = Picture1(i).Picture
Next
End Sub
'“開局” 按鈕被點擊后,要隨機重排九張圖片的位置。雙擊“開局”按鈕,加入代碼:
Private Sub Command1_Click()
Dim i As Integer
Dim Temp(8) As Integer
Dim ChosenNumber As Integer
For i = 0 To 8
Temp(i) = i
Next
Randomize (Timer)
For i = 8 To 0 Step -1
ChosenNumber = Int(i * Rnd)
ImageID(8 - i) = Temp(ChosenNumber)
Temp(ChosenNumber) = Temp(i)
Next
For i = 0 To 8
Picture1(i).Picture = pic(ImageID(i))
If ImageID(i) = 8 Then XPosition = i
Next
Started = True
MoveTimes = 0
End Sub
'最后,是游戲中對圖片點擊事件的處理:根據(jù)游戲者點擊的位置判斷是否要重畫圖片,是否已經(jīng)成功重排所有圖片:
Private Sub Picture1_Click(Index As Integer)
Dim i As Integer
Dim Response As Integer
Position = Index
If Started = False Then Exit Sub
If ((Position <> 0) And (Position <> 3) And (Position <> 6)) Then
CalPosition = Position - 1
If (CalPosition = XPosition) Then CVale
End If
If ((Position <> 2) And (Position <> 5) And (Position <> 8)) Then
CalPosition = Position + 1
If (CalPosition = XPosition) Then CVale
End If
If (Position >= 3) Then
CalPosition = Position - 3
If (CalPosition = XPosition) Then CVale
End If
If (Position <= 5) Then
CalPosition = Position + 3
If (CalPosition = XPosition) Then CVale
End If
Win = True
For i = 0 To 7
If (ImageID(i) <> i) Then Win = False
If Win = False Then Exit For
Next
If (Win = True) Then
MsgBox "恭喜恭喜!你很聰明。" & vbCrLf & "(共移動" & MoveTimes & "次)", vbOKOnly, "恭喜!"
Started = False
End If
End Sub
Sub CVale()
Picture1(CalPosition).Picture = Picture1(Position).Picture
ImageID(CalPosition) = ImageID(Position)
Picture1(Position).Picture = pic(8)
ImageID(Position) = 8
XPosition = Position
MoveTimes = MoveTimes + 1
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -