引用8樓的"夷希微"提供的地圖做說明
假設左上是起點,右下是終點
(1)判斷四邊的順序是,右->下->左->上->右.....
(2)假設第1個判斷的方向是"右"。
(3)程式一開始,判斷右邊有沒有路
->沒有,判斷下一個"下"->有,往下走一步。
(4)由於程式要求的是,沿著牆走,所以第二步之後,要確認牆所在的方向。
所以要從你上次走的方向"下",它的上一個判斷值開始,也就是"右"。
(5)以上述的方式做判斷,整理出走每一步的方法如下:
->起點在左上的位置。
->第1步,"右"沒有路,改走"下",有路,往下一步。
->第2步,從"下"的上一個判斷開始,"右"沒有路,改走"下",有路,往下一步。
->第3步,從"下"的上一個判斷開始,"右"沒有路,改走"下",有路,往下一步。
->第4步,從"下"的上一個判斷開始,"右"沒有路,改走"下",有路,往下一步。
->第5步,從"下"的上一個判斷開始,"右"有路,往下一步。
->第6步,從"右"的上一個判斷開始,"上"沒有路,改走"右",有路,往下一步。
->第7步,從"右"的上一個判斷開始,"上"有路,往下一步。
->第8步,從"上"的上一個判斷開始,"左"沒有路,改走"上",有路,往下一步。
->第9步,從"上"的上一個判斷開始,"左"沒有路,改走"上",有路,往下一步。
->第10步,從"上"的上一個判斷開始,"左"、"上"、"右"都沒有路,改走"下",有路,往下一步。
->第11步,從"下"的上一個判斷開始,"右"沒有路,改走"下",有路,往下一步。
->第12步,從"下"的上一個判斷開始,"右"有路,往下一步。
以此類推,一直走下去,最後就可以走到終點了。
如有錯誤,請各位不吝指教