Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44334
  • 博文数量: 20
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-21 22:20
文章分类
文章存档

2011年(1)

2009年(19)

我的朋友
最近访客

分类:

2009-02-03 08:26:45

分类提取华容道的对称场景
 
    我们已经把华容道的全部场景分成了六个大类,现在要在这六个大类中分别提取出对称的场景。
    为什么要提取对称场景呢?这不仅仅是好玩,对称场景优美整齐。因为在“所有的场景”中是包括镜像的,我把它称之为“正像”与“镜像”。“正像”与“镜像”应该是可以把它看做为同质的。其实“正像”与“镜像”的最佳步数是一样的,由于程序设计,自左向右看待一个场景,所以搜索过程有些差异。但对称场景是没有镜像的,是独立的场景。为了在以后的研究中,有针对性地进行,大概还是必要的。
    以下是搜索对称场景的VB源程序,这里仅对三横场景作示范,余者类通。       

Private Sub Form_Click()
 Dim d As String, l As Long, i As Long, a As Long, dc As Boolean
  
 a = 0
 Open App.Path & "\三横场景.dat" For Random As #1 Len = 22
  For l = 1 To 100770
   Get #1, l, d
   dc = True
   For i = 0 To 4
    If Mid$(d, i * 4 + 1, 1) <> Mid$(d, i * 4 + 4, 1) Or _
       Mid$(d, i * 4 + 2, 1) <> Mid$(d, i * 4 + 3, 1) Then _
       dc = False: Exit For
   Next i
  
   If dc = True Then
    a = a + 1: Text1.Text = a
    Open App.Path & "\三横对称.dat" For Random As #2 Len = 22
     Put #2, a, d
    Close #2
   End If
  Next l
 Close #1
 Text2.Text = "End"
End Sub

 
未完待续
                                          自然牛 2009年2月3日8
 
阅读(943) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~