Re: [wizs] 随机地图的生成

楼主: laechan (挥泪斩马云)   2018-11-27 10:09:50
继续。
以下是一张刚生成的随机地图
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

Links booklink

Contact Us: admin [ a t ] ucptt.com