[閒聊] coding

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間2年前 (2021/08/12 10:38), 2年前編輯推噓1(104)
留言5則, 2人參與, 2年前最新討論串2/2 (看更多)
底下是某個打算以 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&emsp; <input type=button value='讀取' onclick='long_file_read(1)'>&ensp; <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&emsp; <input type=button value='讀取' onclick='long_file_read(2)'>&ensp; <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&emsp; <input type=button value='讀取' onclick='long_file_read(3)'>&ensp; <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://www.ptt.cc/bbs/mud_sanc/M.1628735934.A.334.html

08/12 12:55, 2年前 , 1F
還有BGM好熱血 XD
08/12 12:55, 1F
※ 編輯: 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

08/17 22:48, 2年前 , 2F
看起來剩兩個parts,其中一個是最難寫的area.h留最後
08/17 22:48, 2F

08/17 22:49, 2年前 , 3F
將優先完成script檔的部份,比較簡單而且可複製貼上
08/17 22:49, 3F

08/18 17:08, 2年前 , 4F
現在是最難熬的時候,因為這東西變得很肥大,撐過就ok
08/18 17:08, 4F

08/19 13:46, 2年前 , 5F
全系統備份完畢,順手做個備份
08/19 13:46, 5F
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
文章代碼(AID): #1X58c-Cq (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1X58c-Cq (mud_sanc)