转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
利用VB解决华容道问题的源代码         ★★★★

利用VB解决华容道问题的源代码

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3650 更新时间:2009/4/23 15:42:02
0: GoTo Sort
        End If
End Select
Sort:
    If MoveFighter = 0 Then
        SortEnd 7, 10      ''''对小卒排序
        SortEnd 11, 12     ''''对空格排序
    End If
End Function
Private Function MoveCaoCao() As Long
''''step1初始化下一步的数据
Dim i As Long
For i = 1 To 12
    ES(i) = bs(i)
Next i
MoveCaoCao = -1 ''''初始化返回值,-1代表不成功
''''up按照规则,限制曹操不能向上移动
''''If ES(11) = ES(1) - 8 And ES(12) = ES(11) + 1 Then
''''    ES(1) = ES(1) - 4: ES(11) = ES(11) + 8: ES(12)
 = ES(12) + 8
''''    MoveCaoCao = 0
''''end if
''''down
If ES(11) = ES(1) + 8 And ES(12) = ES(11) + 1 Then
    ES(1) = ES(1) + 4: ES(11) = ES(11) - 8: ES(12) 
= ES(12) - 8
   MoveCaoCao = 0: GoTo Sort
End If
''''left
If ES(11) = ES(1) - 1 And ES(12) 
= ES(11) + 4 And (ES(11) Mod 4) <> 0 Then
    ES(1) = ES(1) - 1: ES(11) = ES(11) + 2: ES(12) = ES(12) + 2
   MoveCaoCao = 0: GoTo Sort
End If
''''right
If ES(11) = ES(1) + 2 And ES(12)
 = ES(11) + 4 And (ES(11) Mod 4) <> 1 Then
    ES(1) = ES(1) + 1: ES(11) = ES(11) - 2: ES(12) = ES(12) - 2
   MoveCaoCao = 0: GoTo Sort
 
End If
''''移动曹操以后,不需要重新进行排序
Sort:
 ''''Do nothing
End Function
Private Function MoveHtiger(MoveType As Long, id As Long)
 As Long
''''初始化下一步的数据
Dim i As Long
For i = 1 To 12
    ES(i) = bs(i)
Next i
MoveHtiger = -1       ''''设置初始值
Select Case MoveType
    Case 1 ''''up
        If ES(11) = ES(id) - 4 And ES(12) = ES(11) + 1 Then
            ES(id) = ES(id) - 4: ES(11) = ES(11) + 4: ES(12) = ES(12) + 4
            MoveHtiger = 0: GoTo Sort
        End If
  Case 2 ''''down
       If ES(11) = ES(id) + 4 And ES(12) = ES(11) + 1 Then
            ES(id) = ES(id) + 4: ES(11) = ES(11) - 4: ES(12) = ES(12) - 4
            MoveHtiger = 0: GoTo Sort
        End If
 Case 3 ''''left
       If ES(11) = ES(id) - 1 And ES(11) Mod 4 <> 0 Then
           ES(id) = ES(id) - 1: ES(11) = ES(11) + 2
           MoveHtiger = 0: GoTo Sort
        End If
       If ES(12) = ES(id) - 1 And ES(12) Mod 4 <> 0 Then
            ES(id) = ES(id) - 1: ES(12) = ES(12) + 2
            MoveHtiger = 0: GoTo Sort
        End If
    Case 4 ''''right
        If ES(11) = ES(id) + 2 And ES(11) Mod 4 <> 1 Then
            ES(id) = ES(id) + 1: ES(11) = ES(11) - 2
            MoveHtiger = 0: GoTo Sort
        End If
        If ES(12) = ES(id) + 2 And ES(12) Mod 4 <> 1 Then
            ES(id) = ES(id) + 1: ES(12) = ES(12) - 2
            MoveHtiger = 0: GoTo Sort
        End If
End Select
Sort:
    If MoveHtiger = 0 Then
        SortEnd 2, hnum + 1      ''''横放将领排序
        SortEnd 11, 12           ''''空格排序
    End If
End Function
Private Function MoveVtiger(MoveType As Long, id As Long) As Long
''''初始化下一步的数据
Dim i As Long
For i = 1 To 12
    ES(i) = bs(i)
Next i
MoveVtiger = -1
Select Case MoveType
    Case 1 ''''up
        If ES(11) = ES(id) - 4 Then
            ES(id) = ES(id) - 4: ES(11) = ES(11) +
 8: MoveVtiger = 0: GoTo Sort
        End If
        If ES(12) = ES(id) - 4 Then
            ES(id) = ES(id) - 4: ES(12) = ES(12) +
 8: MoveVtiger = 0: GoTo Sort
        End If
    Case 2 ''''down
        If ES(11) = ES(id) + 8 Then
            ES(id) = ES(id) + 4: ES(11) = ES(11) - 
8: MoveVtiger = 0: GoTo Sort
        End If
        If ES(12) = ES(id) + 8 Then
            ES(id) = ES(id) + 4: ES(12) = ES(12) -
 8: MoveVtiger = 0: GoTo Sort
        End If
    Case 3 ''''left
        If ES(11) = ES(id) - 1 And ES(12) = ES(11) + 
4 And ES(11) Mod 4 <> 0 Then
            ES(id) = ES(id) - 1: ES(11) = ES(11) + 
1: ES(12) = ES(12) + 1
            MoveVtiger = 0: GoTo Sort
        End If
    Case 4 ''''right
        If ES(11) = ES(id) + 1 And ES(12) = ES(11) +
 4 And ES(11) Mod 4 <> 1 Then
         &nb

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


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台