Fw: [閒聊] 區域編輯器 confarea.htm

作者: laechan (揮淚斬馬雲)   2021-09-27 19:14:51
※ [本文轉錄自 mud 看板 #1XKJjSIq ]
作者: laechan (揮淚斬馬雲) 看板: mud
標題: [閒聊] 區域編輯器
時間: Mon Sep 27 11:32:33 2021
github gist
https://gist.github.com/laechan/d5ffd26215017878df2eac34d74bcc07
還有一些東西沒寫好等以後再改,但是大致可以 demo 了。預設存取
本機目錄是 d:\mud,程式語言是簡單的 javascript(難的我不會)。
demo畫面1
https://i.imgur.com/TxaXxBx.jpg
demo畫面2
https://i.imgur.com/QT8uPl9.jpg
demo畫面3
https://i.imgur.com/qMntoQF.jpg
基本的構想,就是希望在一個網頁頁面下,就能編輯區域內的各個組
成元素,包括區域地圖、區域敘述、區域整體設定、區域怪物、怪物
掉落物等。
sanc 最早由我主導設定的新型態區域,在其區域目錄下一般會有底下
幾個檔案:
area.h 區域怪物相關設定檔
area_long.c 這東西 #include 底下並負責產生三段敘述
└area_long.h 區域三段敘述設定檔
└long1.h
long2.h
long3.h
area_room.c 該區域所有的房間皆 inherit 這個檔
gmonster.c 該區域所有的怪物皆 inherit 這個檔
map1 區域地圖 001-002-003 型式
└map1x 區域地圖 x-x-x 型式
mob/ 該區域怪物檔案產生及存放處
mob_drop 區域怪物掉落物相關設定檔
script_area 該區域房間檔案產生前讀取的產生樣本
script_mob 該區域怪物檔案產生前讀取的產生樣本
傳統編輯區域的方式,是房間檔一個一個編輯、怪物檔一個一個編輯
、怪物的掉落物物件檔案也一個一個編輯,....全都編好後區域就完
成了。
sanc 的新型態區域產生方式則是,當上面的東西都一個一個編輯完
成時,等於我的區域實際上就已經完成了,我只要再執行一些指令
就可。
例如。只要執行以下指令即可產生區域房間檔(不管幾百個):
> trans map1 to here by script_area
而 map1 則透過 map1x 產生,map1x 則透過以下網頁產生
sanc 區域地圖產生器
https://sites.google.com/view/randomapv1
而 confarea.htm 可以做到當左邊貼上 x-x 的地圖時,在右邊就自動
完成 001-002-003 .. 這樣的地圖,如下
https://i.imgur.com/h1hkrFa.jpg
就以這個為例,在沒有寫 confarea.htm 前,我一般是先用地圖產生器
產生出三張 x-x 的地圖,然後丟進 sanc 裡頭再透過 makearea 指令, ←┐
產生對映的 001-002-... 地圖。 │

那為什麼我要寫 confarea.htm 呢? │

因為我已經懶到連這件事都懶得手動去執行了。──→─────────┘
我覺得很累,沒勁,無氣力。
同樣的,我連要改 area_room.c、編寫 long1.h、long2.h、long3.h、..
等等的檔案都很懶。而且通常我是一個一個檔案開出來編輯的,後來我
就想到說,反正它們都是文字檔,那就放在同一個記事本檔案內編輯就
好啦!
如下畫面
https://i.imgur.com/KO2lEmz.jpg
它的缺點很明顯,就是檔案落落長,而且常常得 ctrl-home、ctrl-end
以及游標得經常往上往下移動做各種對照及修改。
所以才產生寫網頁來執行這些作業的想法。如網頁所呈現的,它就類似
一個整合的編輯器,在同一個頁面可以編輯產生區域所需的各個部件,
而且可輕鬆以滑鼠做上下移動對照觀看,並且讓它做最有效的資訊呈現
,例如 map1x 在左邊,map1 在右邊,例如 area_room.c 拆成三個部
份呈現在左、中、右,這樣就不會太長,例如撰寫適當的按鈕讓它保有
地圖及怪物的擴充性等。
而存檔、讀取按鈕讓它可個別執行每個檔案的存檔及讀取。
而當整個網頁一打開時,它就馬上去讀 d:\mud 目錄下有哪些東西,馬
上就將它們做載入及呈現,等於我其它已寫好的區域只要下載到該目錄
,再打開網頁,馬上就能知道這個區域有哪些設定,並方便我立即做各
種編修或選取複製等作業。
簡單的說,我想有經驗的都知道,coding 區域這種事,隨著年紀的增
長,會變得越來越無力,會覺得很懶,不想動,會有不想再去幹這種事
之類的想法,以及會經常半途而廢 coding 不下去。
confarea.htm 算是我處於該狀態下所找到的其中一種解法。這意思是
,如果是用 confarea.htm 來寫,或許我就比較有機會能夠完成區域,
它具有以下優點:
一、所有該寫的東西都整合在同一頁面,馬上就能知道還缺什麼未完成
二、容易編寫、順眼、舒服的操作頁面,或許就能讓我繼續寫下去
三、要編修舊區域也很容易,先下載下來,網頁一開就載入了
下一個目標大概就是副本及任務編輯器吧我猜,sanc 有這兩種東西,
但是都跟 coding 區域有著相同的問題,未來希望不管是副本或任務也
都能輕鬆地彈指完成,我實在是受不了傳統的 coding 方式了。
[email protected]

Links booklink

Contact Us: admin [ a t ] ucptt.com