隨機地圖的生成 - 聖殿英雄傳說 MUD

Connor avatar
By Connor
at 2018-11-27T10:09

Table of Contents

繼續。

以下是一張剛生成的隨機地圖

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

--
Tags: 線上

All Comments

Daph Bay avatar
By Daph Bay
at 2018-11-28T17:10
思考了一整天,操作介面怎麼調整大概有譜了

雙重畢業

Olive avatar
By Olive
at 2018-11-27T03:26
最近剛辛苦的從研究所畢業 閒閒沒事就回鍋來玩 沒想到這裡也畢業啦 https://i.imgur.com/iz10sFw.jpg 分享一下喜氣 前五噓稅前100p - ...

世界盃韓國vs中國 阿努比斯 韓國超猛戰術

Harry avatar
By Harry
at 2018-11-27T00:49
剛看b站 看到一個世界盃復盤 阿努比斯 中國對上韓國 b點 2邊都是303 卻有一邊血量蒸發很快 我看完才發現原來 OW有這麼精深的戰術思維 跟我玩的是同款遊戲嗎 韓國人戰術理解真的太猛了 B站影片 https://www.bilibili.com/video/av35649597 這作者還有其他 ...

這版有你改版我不管嗎

Oliver avatar
By Oliver
at 2018-11-26T23:37
今日體感 主教:全部都是獅子,強度倒是覺得沒有預期中的突破天際,礙於pp數其實就是這麼多,要急速解完也有難度。 大概就是上限跟下限一起提高了,找不到八費打22的獅子了QQ 還有就是新卡更多看到的是拍本體而不是激奏,有點意外XD 白翼拉出來的獅子跟鬼一樣,神經病有夠大隻 皇家:遇過三場歌姬,入場特效真D讚 ...

這次RAGE優勝者是誰阿

Xanthe avatar
By Xanthe
at 2018-11-26T23:37
我只記得有八個,隨便猜一個然後就中了的樣子(? https://i.imgur.com/vI5Iysg.png 所以這次是誰用什麼牌組贏了阿 XD - ...

戰鬥中的前衛後衛

Belly avatar
By Belly
at 2018-11-26T22:57
我打算把這個固定化。 首先,假設怪物攻擊玩家時,是讀取以下函數: tar=mob-andgt;query_current_attacker(); 而該函數長底下這樣: varargs object query_current_attacker(int n) { mixed ats=query_tem ...