Re: [討論] tmi2_v3_改

看板mud (網路地下城/文字遊戲)作者 (小太保)時間11年前 (2014/06/08 14:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/10 (看更多)
原先 n 個屬性,要改成 n-m 或是 n+m,事實上都是辦得到的, 我的原意是不希望拿到 tmi2_v3_改 的人,還需要做複雜的修改 才能達到他想要的結果。 但是因為屬性關係到很多「釋出前就得寫好」的部份,例如戰鬥 就是一種,將來釋出的版本一定會包含最基本可 work 的戰鬥相 關函數(例如閃格擋函數),而這些函數也必然地一定會讀取一些 屬性數值來做計算,所以這些也需在一開始就先有基本的模型資 料。例如我一定會讀取到的資料: str 方面: 要計算攻擊力 agi 方面: 要計算迴避力 con 方面: 要計算基礎抵傷 . . 所以不需要擔心後續要增加或是減少屬性,就如同 tmi_v3 一開 始是四個屬性: > score 它們分別對映 [ Laechan ] "stat" : ([ Dexterity : 17 "dexterity" : 17, Constitution : 10 "constitution" : 10, Intelligence : 15 "intelligence" : 15, Strength : 18 "strength" : 18, ]) 而我要把 agi 及 int 加進去,就是一種增加屬性的動作,如果 我能成功辦到,就代表將來所有 tmi2_v3_改 的使用者也能辦到 ,而且會比我現階段要做的修改還要簡單。 (像我還要先把上面那些字串換成簡單的 dex con int str...) 而且讀取數值的部份,大都會透過函數的方式,它們會有共通的 源頭,將來就只需動源頭即可,則此時玩家資料欄位的增減,就 無需對系統做大幅度的修改,像 sanc 就是存在的時間太久、大 家以前又都習慣直接讀數值的方式,印象中 sanc 光是做底下的 兩項修改就耗費極大心力與極多時間: 把 ppl->add("exp",n) 改成 ppl->add_exp(n) 把 ppl->add("warexp",n) 改成 ppl->add_warexp(n) 總之,很多欄位的數值讀取與增減,會盡量函數化,目的就是減 少拿到 tmi2_v3_改 的使用者在修改上的困擾,所以你不必太過 擔心,唯一需擔心的只有一點:修改的複雜度。 我舉例: 從 es2 mudlib 要改成看 level 的西式 mud 困難! 從 tmi2 mudlib 要改成看 level 的西式 mud 相對簡單! 所以一開始就要「慎選」 mudlib,比方如果你想架 mud,但你 發現 tmi2_v3_改 並不適合架你想架的 mud 時就千萬別選,不 然後續的修改既複雜又麻煩,還不一定能改完。 (經驗談了,想當初我也拿過 es2 mudlib 認真改了半個月..) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.184.126 ※ 文章網址: http://www.ptt.cc/bbs/mud/M.1402207658.A.F4A.html
文章代碼(AID): #1Ja_sgzA (mud)
文章代碼(AID): #1Ja_sgzA (mud)