[闲聊] 区域编辑器 confarea.htm

楼主: laechan (挥泪斩马云)   2021-09-27 11:32:33
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]
作者: tsetsethatha (吉星麦造~~~我来了)   2021-09-28 20:24:00
感谢分享收入精华区z-3-8-9 感谢L大!

Links booklink

Contact Us: admin [ a t ] ucptt.com