精華區beta mud 關於我們 聯絡資訊
分享一個新的防機概念,底下是主程式的部份 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