繼續。
以下是一張剛生成的隨機地圖
x x-x
| | |
x-x-x-x x
|
x
移動路徑:s 3e n e 2s
現在假設將這張圖做左右翻轉:
x x-x x-x x
| | | | | |
x-x-x-x x x x-x-x-x
| |
x x
移動路徑:s 3e n e 2s 移動路徑:s 3w n w 2s
也就是說,將地圖翻轉,然後把入口變成右上角,出口變成左下角,
那麼移動路徑的內容也只需把 e 改成 w,把 w 改成 e 就行了。
同樣的道理,如果是把這張圖做上下翻轉:
x x-x x
| | | |
x-x-x-x x x-x-x-x x
| | | |
x x x-x
移動路徑:s 3e n e 2s 移動路徑:n 3e s e 2n
右邊圖的意思,就是把左下角當成入口,把右上角當成出口,然後移
動路徑就只需把 s 改成 n,把 n 改成 s 就可以了。
那麼,原本的圖片經過水平翻轉,再經過垂直翻轉後,就可以理解其
移動路徑變成: n 3w s w 2n,入口變成右下角,出口變成左上角,
那這是什麼樣的圖呢?
x x-x x
| | | |
x-x-x-x x x x-x-x-x
| | | |
x x-x x
移動路徑:s 3e n e 2s 移動路徑:n 3w s w 2n
那麼,假設這時我們又希望翻轉兩次後的圖,右上角是入口,左下角
是出口,這時移動路徑看圖應該是: 2s e n 3e s,其變化軌跡如下:
1) n 3w s w 2n → 2n w s 3w n <= 先對路徑做反排
2) 2n w s 3w n → 2s e n 3w n <= 再把 n e w s 也做反轉
上面的意思就是說,縱使我們一開始把入口跟出口各固定為左上角及
右下角,但實際上透過地圖及移動路徑的翻轉,仍然可以產生出各種
符合我們需要的圖。
這個就是這幾天要弄的東西。
Laechan