作者laechan (小太保)
看板mud_sanc
標題Re: [wizs] 可擴充式的管理系統架構
時間Fri Jan 7 15:38:27 2011
續上篇, 那什麼叫方便的寫法?
就是有一個「線上玩家資料讀取模組」已經被事先寫好,
名稱假設叫 query_user_data...
> cr_cmd count_damage
> cr_link count_damage to query_user_data
這時就進入內部設定程序,
> set_cmd_help count_damage list as 顯示在線玩家的戰鬥力資料
> set_cmd count_damage list as list_func, #count_damage
上面的意思就是 query_user_data 模組中有一個內建函
數叫 list_func, 內容可能如下..
void list_func(string var)
{
if(!var || var=="") return ;
if(var[0..0]=="#")
{
var2=var[1..strlen(var)-1];
foreach(ppl in usr)
str+=ppl->query("name")+" : "+
call_other(ppl,var2);
}
else
{
foreach(ppl in usr)
str+=ppl->query("name")+" : "+
ppl->query(var);
}
write(str);
}
這麼做的缺點則是每新增一個指令, 就等於要做一大堆
煩瑣的設定, 而且有時候我們一個指令不只跟一個模組
有關連而已, 甚至有時候我們要新增一個指令時, 我們
都不見得可以知道它能使用哪些模組..
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.82.96.162