摘要:
【问题分析】
(1) 棋盘的表示方法
我们可以用一个8×8的二维数组A(I,J)来表示国际象棋的棋盘,在马还没有开始周游棋盘时,棋盘上所有的格都置为零。以后,马跳到哪个格,就将马跳跃的步数记录在相应的空格里。
(2) 马的跳跃方向的确定
在国际象棋的棋盘上,一匹马共有八个可能的跳跃方向。
我们设置一组坐标增量来描述这八个条约方向:
① (1,2) ② (2,1)
③ (2,-1) ④ (1,-2)
⑤ (-1,-2) ⑥ (-2,-1)
⑦ (-2,1) ⑧ (-1,2)
(3) 马的跳跃方向的表示
设I表示行,J表示列,行增量为DI(R),列增量为DJ(R),则马向某个方向试探性地跳跃一步之后的新坐标应该表示为:NI=I+DI(R),NJ=J+DJ(R)。
(4) 朝某个方向试探性地跳跃一步再看下一步(取下一步最小可走方向(处里边角问题)),
任何一点的坐标加上要试探方向的坐标增量之后,都要判断一下是否已经超出了棋盘的边界。即:当I 8,或J 8时,都表示已经超出了棋 阅读全文
posted @ 2008-10-06 01:17
..
阅读(3126)
评论(2)
推荐(0)

浙公网安备 33010602011771号