不要想着向右走几步,之后向下转.而是每一步走完,判断是否转向,计算下一步所在位置的x,y下标....不要想着在向右的过程中,x左边不变,y坐标加1,而是每一步的x,y坐标都会变化,变化的量不同
都是血泪教训啊.
剩下的思路较为简单,写了详细的注释在代码里....,x坐标不变,y坐标每次加1..../i,y遍历用
//nx,ny,下一个的x,y坐标
int x, y, d;
int i, j, nx, ny;
// 将二维数组全部初始化为-1,-1用来判断当前位置是否已经走过...计算方法为:x+增量,增量由当前的方向决定
nx = x + dx[d];
ny = y + dy[d];
//判断下一步的x,y坐标是否有问题,包括:四种越界和该位置已经走过了