- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
- //获取交换点
- Function GetPoint():twoXy; //获取可交换的2个点
- var
- x,y,t1:byte;
- qp:QP_Array;
- begin
- //////////////////////////////////// ///为什么遍历某列for y:=1 to 7 do 这里循环的7 而不是8,而qp[x][y]:=qp[x][y+1]; 【y+1】又是什么意思啊。
- for x:=1 to 8 do //1-8列
- for y:=1 to 7 do // 遍历某列
- begin
- updataChess; //更新棋盘数据
- qp:=ChessData;
- t1:=qp[x][y];
- qp[x][y]:=qp[x][y+1];
- qp[x][y+1]:=t1; //交换相临棋子
- if TestChess(qp) then
- begin
- result[1].X:=x;
- result[1].Y:=y;
- result[2].X:=x;
- result[2].Y:=y+1;
- exit;
- end;
- end;//end for
- for y:=1 to 8 do
- for x:=1 to 7 do
- begin
- updataChess; //更新棋盘数据
- qp :=ChessData; //
- t1:=qp[x][y];
- qp[x][y]:=qp[x+1][y];
- qp[x+1][y]:=t1; //交换相临的2点
- if TestChess(qp) then
- begin //如果交换后的棋盘 存在 三个相同的棋子相连
- result[1].X:=x;
- result[1].Y:=y;
- result[2].X:=x+1;
- result[2].Y:=y;
- exit;
- end;
- end;//end for
- //
- end; //end Function
复制代码 为什么遍历某列for y:=1 to 7 do 这里循环的7 而不是8,而qp[x][y]:=qp[x][y+1]; 【y+1】又是什么意思啊。
而又怎么看他是遍历的到底是列还是行啊。 我断点调式发现循环棋盘的数据都是行,而没发现列遍历 |
|