打印本文 打印本文 关闭窗口 关闭窗口
利用VB解决华容道问题的源代码
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2888  更新时间:2009/4/23 15:42:02  文章录入:mintao  责任编辑:mintao
;      ''''下一步赋值
       For k = 1 To 12
       BEGINSTATE(k) = G_Next.getid(j * 12 - 12 + k)
       Next k
        ''''存入队列之中
        G_Save.AddState BEGINSTATE, i, G_State.Level + 1
        j = j + 1
  Loop
i = i + 1
 If i Mod 19 = 0 Then DoEvents
Loop
time2 = Now()
i = (time2 - time1) * 3600 * 24
G_Save.GetState G_Save.iCurrentNum
If G_State.state(1) = 14 Then
 MsgBox "行走步数:" & G_Save.iCurrentNum &
 "用时: " & i, vbOKOnly, "恭喜恭喜,行走成功"
Else
   MsgBox "行走步数:" & G_Save.iCurrentNum &
 "用时: " & i, vbOKOnly, "抱歉,行走失败"
End If
i=i+1
End Sub
Private Sub Command1_Click()
List1.Clear
Dim i As Long
i = G_Save.iCurrentNum
G_Save.GetState i
If G_State.state(1) <> 14 Then
   MsgBox "没有找到合理的解"
   Exit Sub
End If
Dim strtemp(1 To 1000) As String
Dim k As Long
j = 1
Do While G_State.Level > 0
    strtemp(j) = ""
    For k = 1 To 12
    strtemp(j) = strtemp(j) & CStr(G_State.state(k)) & "_"
    Next k
    strtemp(j) = strtemp(j) & "----" & CStr(G_State.Level)
    i = G_State.Superid
    G_Save.GetState i
j = j + 1
Loop
   strtemp(j) = ""
    For k = 1 To 12
    strtemp(j) = strtemp(j) & CStr(G_State.state(k)) & "_"
    Next k
    strtemp(j) = strtemp(j) & "----" & CStr(G_State.Level)
For k = j To 1 Step -1
    List1.AddItem strtemp(k)
Next k
End Sub
Private Sub Form_Load()
Set G_Next = New CHRDNext
Set G_Save = New CHRDSave
End Sub
Private Sub mnuAbout_Click()
frmAbout.Show
End Sub
Private Sub mnuExit_Click()
End''''退出程序
End Sub

上一页  [1] [2] [3] [4] 

打印本文 打印本文 关闭窗口 关闭窗口