回 帖 发 新 帖 刷新版面

主题:关于走迷宫程序中的一段代码的解释问题

相信学VB的朋友,大多都研究过走迷宫的例程,该程序先画出迷宫,然后再解出迷宫行走路线,我曾两度研究,还是参不透,其中有一段如下:

... 
Do
      Dir = Dir Mod 4 + 1
      Xn = ((Dir = 1) - (Dir = 3)) + X  '这一句怎么解释?
      Yn = ((Dir = 2) - (Dir = 4)) + Y
      If a(2 * Xn, 2 * Yn) Then
        Exit Do
      End If
      If Dir = Dir2 Then
        X = Xn
        Y = Yn
      End If
      Loop 'Until X > MaxX Or Y > MaxY Or X < 0 Or Y < 0
...

另外,若有朋友对此程序有过深入的研究,还请把总体构思和解决方案赐教愚人!

回复列表 (共3个回复)

沙发

光从这个语句看,如果Dir = 1,那么 ((Dir = 1)=True,也就是该表达式的值=-1,否则 =False,也就是该表达式的值=0。其余3个也是如此。

板凳

谢谢!

3 楼

总体构思应该是这样:
1、构造一个过程,立足任意座标(x,y)。检查,他的左边是否是通路,然后检查下边,然后检查右边,然后检查上边。如果通路,将通路处坐标作为参数,调用自身。
2、从主程序调用上面的过程。
实际就是“递归”练习。

我来回复

您尚未登录,请登录后再回复。点此登录或注册