作者laechan (小太保)
看板mud_sanc
标题Re: [闲聊] 近况
时间Sat Jun 16 09:40:07 2012
最近公司上层程式开发单位,想跟我要「资料比对程式」
的程式原始码(Source Code)。
我可以理解为什麽他们想要。我总共建议两项功能,一个
是资料间的即时连结性(以超连结的方式),一个就是资料
比对。这两项都有被采用,但是我没想到他们竟会要我的
原始码。
比对程式有一个困难点,以圣殿为例,比方A玩家有 123
个技能,B玩家有 85 个技能,两个玩家因性别种族职业
不同,
而各自学有对方学不到的技能,因此两人的技能总
数一定会大於 123、但小於等於 123+85。
这时圣殿可以这样子写..
mixed skills=({}),usr_skill=({});
string sk;
// usr = 要比较的玩家总数
for(i=0;i<sizeof(usr);i++)
{
// 读取玩家的全部技能名
usr_skill=keys((mapping)usr[i]->query("skill"));
foreach(sk in usr_skill)
{
// 若一技能名没有在 skills 阵列里就把该技能名补进阵列里
if(member_array(sk,skills)==-1)
skills+=({sk});
}
}
则 sizeof(skills) 就能得到这些玩家总共有学了哪些技能。
用圣殿的语法写很简单,用 ASP 的语法写就很困难..
一、ASP 没有 member_array
二、ASP 的阵列变数不能定为「不确定范围」
三、当一笔 XML 资料内包含固定标签及不固定标签时,必须
先把固定标签的资料滤掉,再去算有几个不固定标签。
我的盘算是,我打算 cp 一份,然後交出删减版的,而我也已经
这样做了,我对删减版还蛮满意的。
(某方面来说它有比原版好的地方,我打算纳入)
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.11.103