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/cn.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灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP