作者laechan (挥泪斩马云)
看板mud_sanc
标题[闲聊] coding
时间Thu Aug 12 10:38:50 2021
底下是某个打算以 javascript 撰写的网页设计草图
BGM
https://www.youtube.com/watch?v=9NxrQipUkwg
> ls
area.h
area_long.c
area_long.h
area_room.c
gmonster.c
map1
map1x
map2
map2x
mob
script_area
script_gmob
script_smob
smonster.c
> more area.h
// 房间最多生几只怪
#define MAX_MOBS_IN_ROOM 5
// 房间经过多久(秒)重生怪物
#define MOB_REBORN_TIMES 300
// 房间怪物资料
// "档名",等级,({"id",..}),"名字",道德,金钱,只数,({掉落物}),({额外设定})
#define MOBS_DATA ({\
({"mob1",137,({"ice lizard","lizard"}),HIC"冰"HIW"蜥魔"NOR,\
-26000,500,5,({}),({"data","anti/fire",-50}),}),\
({"mob2",142,({"ice gargoyle","gargoyle"}),HIC"冰"HIW"翼魔"NOR,\
-28000,500,5,({}),({"data","anti/fire",-50,"temp","flying",1}),}),\
({"mob3",164,({"ice elemental","elemental"}),HIC"冰"HIW"元素"NOR,\
-33000,500,3,({}),({"data","adv/str",5000,"data","anti/all",50,"data","anti/fire
",-50}),}),\
({"mob4",199,({"frost giant","giant"}),HIB"寒冰"HIW"巨人"NOR,\
-82000,500,1,({}),({"data","adv/con",5000,"data","adv/str",5000}),}),\
})
理论上,虽然整合於同一个网页,但各个 part 要有独立的执行按钮。
有预设 D: 槽目录但允许开发者在头几行找到可更改的地方。
跳过模拟阶段,先求有再求好。
最上方设定一排快捷超连结
area_room mapx long.h area.h ....
搭配 <a href=#xx> 然後设定 <a id=xx> 去做跳动,以及 回最上面。
area_room 区可透过整合的方式产生,有数个 textarea 框并且都附上
范例,在实际的 area_room.c 档内用特定的 // 做 explode 的分隔。
审慎考量 area_room 的所在位置,最好它的下方就是地图区,这样才会
方便看到房间号码,滑鼠往下滚马上就看到号码,再往上滚做设定。
8/17 updated: 大概是这种感觉
https://i.imgur.com/kYpUUhc.jpg
1.实际上只需分为三个部份,其它都是写死的不用动
2.按下存档键时就储存为 area_room.c
3.房间short设定区看起来需有 default 值,这样就算这三格都空白的
情况下按下存档键,产生的 area_room.c 也能 update 过并可执行
地图後必定是三段叙述区,规划三个 textarea 框,每个框高度不需要
很高。应支援自动加上 "",\ 才会省事。必须要能随时按下就存档以及
按下就读取。
读写档及 put 到 textarea,必须考量到 \n 的拆解。
8/17: updated 大概长这样
https://i.imgur.com/JiEvSCT.jpg
1.左边是 mapx 地图,右边是加上编号的 map 地图
2.右边的 map 地图会自动判断目前房间数
3.目前暂时用存档左边的 mapx,再透过重新载入整个网页的方式
来更新右边的 map,理论上写一颗按钮即时转换也可以
4.存档右边 map 地图的按钮今天会写好
目前离综览还很远但已略具雏型,最近会再把麻烦的东西先弄好,简单
的留到最後才做。
先求有再求好,写完三段叙述区就可以先测试。测试结果满意再继续往
下写。
D:\mud\long1.h [读取] [存档]
┌──────────────────────────────┐
│ │
│ │
│ │
│ │
└──────────────────────────────┘
D:\mud\long2.h [读取] [存档]
┌──────────────────────────────┐
│ │
│ │
│ │
│ │
└──────────────────────────────┘
D:\mud\long3.h [读取] [存档]
┌──────────────────────────────┐
│ │
│ │
│ │
│ │
└──────────────────────────────┘
横的感觉比直的优点多一点,至少长叙述不会断行,至於列数就维持目前
的设定,毕竟叙述多的区域不常见,字体则 16px 看起来可读性最好。
重载钮及存档钮都必须有 Y/N confirm。
存档钮要有自动备份机制,备份档统一存到特定目录。
网页重新整理时就要自动读取相关档案并载入。
8/16 updated: 大概是这样的感觉
https://i.imgur.com/0XpUTHg.jpg
1.网页第一次开启时,若没有 d:\mud 目录会自己建立
2.网页重新整理时自动载入档案内容,若档案不存在就不载入
3.读取及存档都需要 confirm
4.已确认写入的内容有正常换行,且内容也正确
5.三个 .h 档上传至伺服器後也能正常被 area_long.c 存取
[/u/l/laechan/area/sides/mine/001 ]
东棱矿坑1F
整座矿坑以高强度木材加固矿坑的洞壁,开采期间极少发生事故
,每一寸的洞壁都有昔日带着铁锹和尖嘴镐的矿工们辛苦开凿的
痕迹,经常可在这里听到嘎吱嘎吱的回声从矿坑的深处传来呢!
明显出口有: east 和 out.
<table>
<tr><td>D:\mud\long1.h 
<input type=button value='读取' onclick='long_file_read(1)'> 
<input type=button value='存档' onclick='long_file_save(1)'><BR>
<textarea id=long1 style="font-size:16px;background-color:#93ED93;"
cols=80 rows=13 id=long1></textarea><BR></td></tr>
<tr><td>D:\mud\long2.h 
<input type=button value='读取' onclick='long_file_read(2)'> 
<input type=button value='存档' onclick='long_file_save(2)'><BR>
<textarea id=long2 style="font-size:16px;background-color:#93ED93;"
cols=80 rows=13 id=long1></textarea><BR></td></tr>
<tr><td>D:\mud\long3.h 
<input type=button value='读取' onclick='long_file_read(3)'> 
<input type=button value='存档' onclick='long_file_save(3)'><BR>
<textarea id=long3 style="font-size:16px;background-color:#93ED93;"
cols=80 rows=13 id=long1></textarea><BR></td></tr>
</table>
部份 part 采全档内容载入及存档,例如 gmonster.c、smonster.c,
至少三个框同上,每个框均载入全档内容,就可在网页上直接修改。
以下这一部份最花时间,所以必须考量是否有必要写进网页,若有必要,
将这一区块放在哪里较好? 以及是否给全档编辑就好?
D:\mud\area.h
房间最多生几只怪(ex: 5): TEXT输入框 or select下拉框
房间经过多久(秒)重生怪物(ex: 300秒): TEXT输入框 or select下拉框
房间怪物资料
怪物档名: __ 等级: __ id: __ 中文名: __ 道德: __ 金钱: __ 只数: __
(额外设定资料: 资料区: __ 栏位: __ 内容: __)
额外HP加成: __
额外属性加成: fel:[] str:[] dex:[] ...
是否会飞:
掉落物设定
[下拉] [机率] +
[下拉] [机率] +
[下拉] [机率] ?
额外HP加成及属性加成的部份,自动套用 ({"data","hp",xxx,"data","hp_src",xxx})
({"data","adv/con",xxx})
是否会飞的设定,自动套用 ({"temp","flying",1})
房间怪物资料的部份,在 sanc 跑一份总怪物列表後存成档案,供这个
网页下拉使用? 一开始当然不写这个,先求有再求好。
虚拟物品列表的部份,在 sanc 跑一份总表後存成档案,供这个网页下
拉使用,这个必须要写。
mob_drop 必须给一个框,跑出设定指令:
cd /d/break/zoon/mob
vobjs -mob_drop skipper set m033 = 500
vobjs -mob_drop antelope set m017 = 300
vobjs -mob_drop monkey set m093 = 300
vobjs -mob_drop locust set m055 = 500
vobjs -mob_drop sheep set m017 = 300
其中 cd 目录的部份可以之後自己手动加,底下的指令全部程式产生。
以上最花时间。
map 的部份透过网页产生的地图,因为实际上会有几层并不一定,初期
也不一定要做,但是假若 d:\mud 目录下有读到 map1x、map2x 这样的
档名,则预读进来做显示亦无不可。
产生地图的网页就放在这个整合网页的上方以超连结的型式呈现在另一
个分页即可,由那边去跑出结果再存回这里即可。
理论上 map1x、map2x 手动较好,程式可读进来,有几个就读几个,然
後再写并列的全型地图列於右侧即可,这样有几层就显示几张。
script_area
script_gmob
script_smob
有几个 script 档也要在整合网页写几个,其中 script_area 自己单独
一列一个 textarea 框,mob 的 script 则可以并列。原则上可预设mob
共有三个 script 并自动产生预设档,wiz 有需要自己改一改就好,有用
到的再改即可。
最终必须测试这些档案 ftp 到 server 後,中文及换行部份是否可以正
常显示,最後必须做的事:
1. 编写 area_room (暂)
2. makearea -read map1x、map2x、..
3. trans map1(,map2,..) to here by script_area
未监定防具
[编辑中]
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.66.104 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1628735934.A.334.html
1F:推 dontpkme : 还有BGM好热血 XD 08/12 12:55
※ 编辑: laechan (114.33.66.104 台湾), 08/16/2021 15:26:50
randomapv1 连结放在最上面
map,产生数字靠读档
map1x map1
左 [更新] 右
area_room,这个确定在中间,可往上滚、往下滚去看相关设定
分数个框
area.h
long 的编辑是独立的,文字过多的资讯放在最下面或最上面没差
,放下面好处是模拟器也可以放下面
※ 编辑: laechan (114.33.66.104 台湾), 08/17/2021 11:18:05
这个 coding 整合器如果撰写成功,以後就能写其它以往我觉得
很烦的东西:
1. .o 档线下编辑器
它会自动拆解 .o 档的资料,理想是拆成树状架构
2. 任务/副档编辑器
这样就能舍弃以记事本编辑的做法
※ 编辑: laechan (114.33.66.104 台湾), 08/17/2021 21:48:47
2F:→ laechan : 看起来剩两个parts,其中一个是最难写的area.h留最後 08/17 22:48
3F:→ laechan : 将优先完成script档的部份,比较简单而且可复制贴上 08/17 22:49
4F:→ laechan : 现在是最难熬的时候,因为这东西变得很肥大,撑过就ok 08/18 17:08
5F:→ laechan : 全系统备份完毕,顺手做个备份 08/19 13:46
08/24 updated
对这个配置不是很满意,还在想要怎麽改
https://i.imgur.com/5Dgt4Hp.jpg
因为还要设定怪物掉宝资料。不希望光只是一只怪的设定就落落长,目前
比较难搞的是怪物的额外设定资料,还在想要怎麽改比较好。
貌似:
掉落物 / 机率 : ____下拉 ______ / ____ +新增
掉落物 / 机率 : ____下拉 ______ / ____ +新增
掉落物 / 机率 : ____下拉 ______ / ____ +新增
D:\mud\mob_drop [更新] [存档]
┌────────────────────────┐
│mob_drop mob01 set m001 = 500 │
│mob_drop mob01 set m002 = 500 │
│ │
└────────────────────────┘
这样或许可以,下午改看看。
※ 编辑: laechan (114.33.66.104 台湾), 08/24/2021 12:07:51