作者laechan (小太保)
看板mud
标题[闲聊] 随机摘取叙述再挖空做防机测验
时间Fri Mar 15 12:13:44 2013
分享一个新的防机概念,底下是主程式的部份
obs=objects();
while(1)
{
r=random(sizeof(obs));
if(!ob=obs[r]) continue;
if(!msg=ob->query("long")) continue;
if(userp(ob) || 其它必要的判断) continue;
// 这样就能取得一个有设定 long 的物件(不包含玩家及其它需略过的物件)
// 安全取法
i=6+random(strlen(msg)-7);
if((tmp[i]>='A' && tmp[i]<='z') || tmp[i..i]==" " || tmp[i..i]=="_")
continue;
else if(strsrch(tmp[i..i+3],",")>0 || strsrch(tmp[i..i+3]," ")>0 ||
其它必要的判断)
continue;
else
break;
}
answer=tmp[i..i+3];
tmp[i..i+3]="____";
write(tmp+"\n请回答上面____空格的适当文字: ");
input_to("answer_over",0,me,answer,str);
程式执行结果 sample 大致如下...
以蠍子之毒加上古代龙皮所炼制的披风,传说中穿上去者可以
百毒不侵,并且____不凡的防御力唷!
请回答上面____空格的适当文字:
具有
上古魔龙的项链,取其皮做成,项链散发着一层蓝光,像是要摄____
的魂魄一样,既美丽、又恐怖。
请回答上面____空格的适当文字:
取人
一条树皮内裤,设计很独特,____好的人穿了会增加魅力喔。
请回答上面____空格的适当文字:
身材
原是李逍遥最喜爱的一件披风。在闯荡江湖斩____魔的过程中,
李逍遥的仙气盘据在披风之上。而後,李逍遥闯荡鬼塔,不慎负
伤逃离,鬼神大君便将其披风视为战利品,穿戴於身上。在经过
长时间战斗杀戮的洗礼後,使得李逍遥的仙气、鬼神大君的鬼气
及挑战者的杀气合而为一,转变成魔力强大的 圣灵披风。
请回答上面____空格的适当文字:
妖除
这个其实是「题库型防机」的一种变型做法,传统上来说,题库
型防机的「防机能力」,多半是与题库的大小、题库的设计、以
及题库的弹性扩充度有关。
但是不管哪一种,都必须建立题库,而且还必须维护该题库,对
管理者来说十分不便。
而且对玩家来说,「我看到一题,我就记下一题」,久而久之题
库型防机对於勤於搜集题库的玩家来说,破解只是迟早的事。
而若采取上面所贴的新的做法,题库等於将该 mud 大部份的物件
叙述都列进来,「而我们只是要玩家把 ____ 挖空的部份填进去
」,题库的数量近乎无限大(看该 mud 的规模),玩家想写机器人
破解就几乎是不可能的,
但是却可以简单的用逻辑思考推演的方
式在短时间就推敲出答案。
比方看到斩____魔,多半就可以推敲这是在讲「斩
妖除魔」。
以上一点心得,跟大家分享。程式的重点在於 while(1) 里面怎
麽写,这个各家写法不同,就不详细赘述。
Laechan@Sanc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
※ laechan:转录至看板 mud_sanc 03/15 12:14