这个代码时什么意思?

蜗牛哦 2005-05-09 03:48:21

下面是拼图游戏的全部代码,下面这几段代码是什么意思?
谢谢!

Option Explicit

Dim ImageID(8) As Integer '记录图片排列顺序的数组

Dim Position As Integer '被点击的图片位置

Dim XPosition As Integer '空图片的位置

Dim MoveTimes As Integer '记录移动次数

Dim CalPosition As Integer '用于计算位置

Dim Started As Boolean

Dim Win As Boolean

Dim pic(8) As Picture


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

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



...全文
132 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧