mud_sanc 板


LINE

拍謝最近很忙,年底了上級交辦事項一堆。 那忙的事情剛好跟 sanc 明年要弄的東西有一點關連,這邊提一下, 就是類似上一篇的延伸,這篇講細一點。 我在 sanc 有寫一支程式,執行後它會幫我產生一張 html 表格,裡 面是 sanc 的全物件列表。 (/cmds/wiz/_loadall.c) 表格的每一列的內容大致長底下這樣: <tr><th>切肉刀(Carver)</th> <th>blade</th><th>40</th><th>70</th><th>120</th><th>700</th> <th>無</th><th>無</th><th>無</th> <th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr> blade 就是 type,40 70 120 700 那些就是重量、傷害、價格、命 中等等的參數,無 無 無 就是性別、種族、職業的持有限制,後面 一堆空的代表這東西沒有加屬性。 在這個表格的前面加上下面的東西: 請輸入關鍵字: <input type=text id=inputs</input> <button onclick='start_filter()'>開始搜尋</button><p>" 然後 start_filter 函數就可以這樣寫 function start_filter() { inputs=document.getElementById("inputs").value; 我們希望每個關鍵字之間是以 空格 做為分隔: inputs=inputs.replace(/ /gi," "); // 把全型空格變成半形空格 inputs=inputs.replace(/\,/gi," "); // 把逗號變成半形空格 inputs=inputs.replace(/ /gi," "); // 把空兩格變成空一格 再把它 explode,存進一個 array 中: tmps=inputs.split(" "); 關鍵字之間的判斷關係為 and,比方 n 個關鍵字,那每個關鍵字 都要符合才回傳 true 值。 常見的關鍵字可分為以下兩種 1.關鍵字裡面有 OR,比方 bladeORsword,代表符合其中一項即可 2.關鍵字前面有 - 號,比方 -blade,代表去掉含有 blade 的 因此對每一個 <tr>...</tr> 來說: $("tr").each(function(){ check=0; trs=$(this).text(); // 讀取每一列 tr 的文字內容 for(i=0;i<tmps.length;i++) { tmp=tmps[i]; // 當關鍵字前面有 - 號時 if(tmp.substring(0,1)=="-") { // - 號後面接的字串如果不包含在 trs 內就是我們要找的,就讓 check+1 if(trs.indexOf(tmp.substring(1))<0) check++; } else { tmps2=tmp.split("OR"); // 對關鍵字做 OR 的 explode if(tmps2.length==1) // 代表關鍵字本身沒有 OR { // 就直接判斷該關鍵字有沒有在 trs 內,有的話 check+1 if(trs.indexOf(tmp)>=0) check++; } else // 代表有 OR,對每一個子關鍵字做判斷 { check2=0; // 只要其中一個 match 就讓 check2=1 for(j=0;j<tmps2.length;j++) if(trs.indexOf(tmps2[j])>=0) check2=1; // check2>0 代表其中一個子關鍵字有 match,就讓 check+1 if(check2>0) check++; } } } // 當所有關鍵字都判斷完後 // 如果 check 值跟 sizeof(tmps) 相同,代表所有關鍵字都 match // 那就讓這一列顯示 if(check==tmps.length) $(this).show(); // 反之,就讓這一列隱藏 else $(this).hide(); }); 上面只是簡單的例子,實際上撰寫的判斷會更複雜,例如說我們要找 出如下的東西: 1. blade 類或 sword 類 2. 有加 air 或是有加 mag 的 光是這樣就要構思關鍵字要怎麼給,例如: bladeORsword air>0ORmag>0 也就是說這時要增加 > 跟 < 兩種字符的判斷,那直覺想法就是這時 會有類似以下的關鍵字: mag!=0、mag<0、mag>0 mag<100、... 再來就是如何讓大小寫能視為相同的搜尋,這個也是必須要考量的。 但是這東西如果寫出來,放在 google site,就能讓玩家透過外部網 站查武防具的資料,這個就是我明年要做的東西。 至於讓玩家在遊戲內以指令查詢的部份,我也有打算做。 繼續忙了。 Laechan -- 『無窮的宇宙,無盡的時空,無限的可能,與無常的人生之間 的永恆矛盾,從倪匡這顆腦袋中編織出來。 』 ──金庸評倪匡 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud_sanc/M.1545703655.A.AED.html ※ 編輯: laechan (122.117.106.224), 12/25/2018 10:10:48
1F:→ laechan : 嘛,應該是用 .filter(function(){ 就可以解決 01/17 15:08







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP