Re: [wizs] 隨機地圖的生成
看板mud_sanc (Sanctuary - 聖殿)作者laechan (揮淚斬馬雲)時間7年前 (2018/11/22 06:59)推噓0(0推 0噓 7→)留言7則, 1人參與討論串3/6 (看更多)
續上篇,今天會從這篇開始編輯,目標是完成第一型隨機地圖
的產生架構,我是認為第一型就夠應付大部份的區域需求,所
以等完成並確定可跑之後,會改寫為 javascript 並分享出來
,希望可以成為讓玩家應徵臨時工的方便工具,我有個區域構
想希望是由玩家來協助地圖供應的部份。
(第二型則可以由改寫第一型來完成,主架構都是類似的)
我這幾天主要是在想怎麼在網頁上呈現如同在 sanc 裡頭的結
果,畢竟 document.write 出來的東西要排版並不容易,不過
我大致有擬一個備案、以及我印象中似乎有某個東西有支援,
那就可以等改寫時再來 try。
==
我改寫了之前用來產生隨機地圖的函數,並把它放到 wiz 可
用的指令裡頭,以下是最近一次跑出來的結果:
> run_map
// 由程式所產生的從 (0,0) 到 (4,0) 的路徑點
starts=({ ({ 0, 0 }), ({ 0, 1 }), ({ 0, 2 }), ({ 0, 3 }),
({ 1, 3 }), ({ 1, 2 }), ({ 2, 2 }), ({ 2, 3 }),
({ 3, 3 }), ({ 4, 3 }), ({ 4, 2 }), ({ 4, 1 }),
({ 3, 1 }), ({ 2, 1 }), ({ 1, 1 }), ({ 1, 0 }),
({ 2, 0 }), ({ 3, 0 }), ({ 4, 0 }) })
// 依據上面的東西所產生的路徑圖
x x-x-x-x
| |
x x-x-x-x
| |
x x-x x
| | | |
x-x x-x-x
再跑個幾次,以下是產生的另兩條路徑
> run_map
x x
| |
x x
| |
x x-x x
| | | |
x-x-x x-x
> run_map
x x-x-x
| |
x x-x x-x
| | | |
x x-x-x x
| |
x-x-x-x-x
這裡先說明一個簡易產生大圖的做法,比方根據上面,我們產生
了三張圖
第1張圖 第2張圖 第3張圖
x x-x-x-x x x x x-x-x
| | | | | |
x x-x-x-x x x x x-x x-x
| | | | | | | |
x x-x x x x-x x x x-x-x x
| | | | | | | | | |
x-x x-x-x x-x-x x-x x-x-x-x-x
這時候在相鄰的圖之間隨意加 - ,以下是兩個範例
第1張圖 第2張圖 第3張圖
x x-x-x-x-x x-x x-x-x
| | | | | |
x x-x-x-x x x x x-x x-x
| | | | | | | |
x x-x x x x-x x x x-x-x x
| | | | | | | | | |
x-x x-x-x x-x-x x-x x-x-x-x-x
第1張圖 第2張圖 第3張圖
x x-x-x-x x x x x-x-x
| | | | | |
x x-x-x-x-x x x x-x x-x
| | | | | | | |
x x-x x x x-x x-x x-x-x x
| | | | | | | | | |
x-x x-x-x x-x-x x-x x-x-x-x-x
或是我們也可以這樣做:
第1張圖
x x-x-x-x
| |
x x-x-x-x
| |
x x-x x
| | | |
x-x x-x-x
|
x x-x-x x x
| | | |
x x-x x-x x x
| | | | | |
x x-x-x x x x-x x
| | | | | |
x-x-x-x-x-x-x-x x-x
第3張圖 第2張圖
也就是說,比方我們要產生一張 16 x 12 的大圖,那我們可以
產生 12 張 4x3 的小圖,再把這些小圖依以下的排法:
4 +4 +4 +4 = 16, 底下 3+3+3+3 = 12
小 小 小 小
小 小 小 小
小 小 小 小
小 小 小 小
然後手動設定一下 - 或 | 的串接路線,就能變成一張大圖,
而且附帶的好處是,在起終點之間的路徑以外的都是分支。
這部份依靠程式去跑是辦得到的,還可以讓操作者自由決定每
張小圖的擺放位置,以 javascript 來寫的話甚至可以讓使用
者用拖曳的方式來擺圖。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1542841155.A.B1E.html
→
11/22 07:13,
7年前
, 1F
11/22 07:13, 1F
※ 編輯: laechan (122.117.106.224), 11/22/2018 11:28:28
→
11/22 17:54,
7年前
, 2F
11/22 17:54, 2F
→
11/22 17:54,
7年前
, 3F
11/22 17:54, 3F
→
11/22 17:56,
7年前
, 4F
11/22 17:56, 4F
→
11/22 17:57,
7年前
, 5F
11/22 17:57, 5F
→
11/22 17:58,
7年前
, 6F
11/22 17:58, 6F
→
11/22 17:58,
7年前
, 7F
11/22 17:58, 7F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 6 篇):
0
6
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
34
54