马的遍历问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:10:00
设计程序完成如下要求:在中国象棋棋盘上,对任一位置上放置的一个马,均能选择一个合适的路线,使得该棋子能按象棋的规则不重复的走过棋盘上的每一位置:
要求:(1)依次输出所走过的各位置的坐标.
(2)最好能画出棋盘的图形形式,并在棋盘上动态的标注行走的过程.
(3)程序能方便的移植到其他规格的棋盘上.
我想要的是完整的代码,希望有空的高手帮忙做一个......时间紧急!!!要是谁有代码,不想发到网上的,可以通过QQ:542663317传我一个。。。EMAIL也行:caoze130@sina.com
要分的话我可以给100

#1 "五位马表",终结马的走法

以前介绍过折叠位棋盘的技术,由于位棋盘的速度问题,而暂时冷落下来,真正使用折叠位棋盘的人不多。下面介绍一种技术,从位棋盘的思想演变而来,但不需要在位棋盘上实现。为了使用方便将其称为“5位马表”。(名称如有更好,欢迎提供)
首先,预置一个如下的数组(如下图,贴上来没有表格,不好看),棋盘的坐标可以从下到上,也可以从左到右,但是里面的值一定要从下到上,以前讲折叠位棋盘时,共需要8位,有3位是冗余的,并且棋盘的坐标要求从下到上,现在没有这个要求,并且只要求5位,没有冗余,这样会产生冲突吗?先了解一下构成该表的原则:任意一个格子的四周不能有相同的值,加上格子自身需要一个值,就是说最少需要5个不同的值,将4个不同的值精心排列在周围,使其不发生冲突,就得到下表(你也可以自己排列下表)。
我们将表中为数值1的定义为1号格子,为2的定义为2号格子,为4的定义为4号格子,等等。观察表可知,1号的左边是4,右边是8,上边是2,下边是16。所有的1号格子都是一样,这样保证了走步的一致性。
如果某格有子,其值等于0,如果没有子,其值就是表格的数值。
该表对马的走步和计算马的灵活度都很快捷。

16 4 1 8 2 16 4 1 8
8 2 16 4 1 8 2 16 4
4 1 8 2 16 4 1 8 2
2 16 4 1 8 2 16 4 1
1 8 2 16 4 1 8 2 16
16 4 1 8