引用8楼的"夷希微"提供的地图做说明
假设左上是起点,右下是终点
(1)判断四边的顺序是,右->下->左->上->右.....
(2)假设第1个判断的方向是"右"。
(3)程式一开始,判断右边有没有路
->没有,判断下一个"下"->有,往下走一步。
(4)由于程式要求的是,沿着墙走,所以第二步之后,要确认墙所在的方向。
所以要从你上次走的方向"下",它的上一个判断值开始,也就是"右"。
(5)以上述的方式做判断,整理出走每一步的方法如下:
->起点在左上的位置。
->第1步,"右"没有路,改走"下",有路,往下一步。
->第2步,从"下"的上一个判断开始,"右"没有路,改走"下",有路,往下一步。
->第3步,从"下"的上一个判断开始,"右"没有路,改走"下",有路,往下一步。
->第4步,从"下"的上一个判断开始,"右"没有路,改走"下",有路,往下一步。
->第5步,从"下"的上一个判断开始,"右"有路,往下一步。
->第6步,从"右"的上一个判断开始,"上"没有路,改走"右",有路,往下一步。
->第7步,从"右"的上一个判断开始,"上"有路,往下一步。
->第8步,从"上"的上一个判断开始,"左"没有路,改走"上",有路,往下一步。
->第9步,从"上"的上一个判断开始,"左"没有路,改走"上",有路,往下一步。
->第10步,从"上"的上一个判断开始,"左"、"上"、"右"都没有路,改走"下",有路,往下一步。
->第11步,从"下"的上一个判断开始,"右"没有路,改走"下",有路,往下一步。
->第12步,从"下"的上一个判断开始,"右"有路,往下一步。
以此类推,一直走下去,最后就可以走到终点了。
如有错误,请各位不吝指教