當前位置:
首頁 > 文史 > 銀角大王的葫蘆是怎麼判定稱呼對象是否答應的?

銀角大王的葫蘆是怎麼判定稱呼對象是否答應的?

Thinkraft, Obsessive-Compulsive-Personality-Disorde原作是這麼解釋其功能的: 原來那寶貝,那管什麼名字真假,但綽個應的氣兒,就裝了去也。 不過這裡面還有兩個問題:


如何鎖定對象?


如何判斷對象是否應答?

這可就難說了,畢竟原作里的測試用例不足——紫金紅葫蘆只執行了兩次,功能相同的羊脂玉凈瓶也只執行了一次。


那魔執了寶貝,跳在空中,把底兒朝天,口兒朝地,叫聲:「者行孫。」 行者卻不敢答應,心中暗想道:「若是應了,就裝進去哩。」


那魔道:「你怎麼不應我?」


行者道:「我有些耳閉,不曾聽見。你高叫。」

那怪物又叫聲「者行孫。」


行者在底下掐著指頭算了一算,道:「我真名字叫做孫行者,起的鬼名字叫做者行孫。真名字可以裝得,鬼名字好道裝不得。」卻就忍不住,應了他一聲,颼的被他吸進葫蘆去,貼上帖兒。


…… 行者笑道:「你且收起,輪到老孫該叫你哩。」急縱筋斗,跳起去,將葫蘆底兒朝天,口兒朝地,照定妖魔,叫聲「 銀角大王 」。 那怪不敢閉口,只得應了一聲,倏的裝在裡面,被行者貼上「太上老君急急如律令奉敕」的帖子,心中暗喜道:「我的兒,你今日也來試試新了!」


…… 大聖見了,急縱雲跳在空中,解下凈瓶,罩定老魔,叫聲:「金角大王!」 那怪只道是自家敗殘的小妖呼叫,就回頭應了一聲,颼的裝將進去,被行者貼上「太上老君急急如律令奉敕」的帖子。


三次都只是簡單形容為「應了一聲」,沒有談到具體內容比如「哎~」「啊?」「幹嘛?」「誰叫我?」,總之應了一聲就生效了。

先說如何鎖定對象。這有多種可能性。


一個比較保守的推測是:「使用對方註冊時填寫的昵稱(比如「者行孫」)有效」。這就跟你在淘寶上買東西寄到公司一樣,哪怕你寫著金城武收,快遞叔叔打電話過來的時候實際收貨的還是你。


不過我個人更傾向於理解為「喚起對方注意即有效」。


比如你喊一聲「爸爸我要吸你」,有效範圍內所有答應的人都會一起吸進去。


為什麼呢?

第一,葫蘆的容量高達1000人,而且吸完了貼上帖子一小會就化成湯了,這麼強大的道具沒道理只能一個一個吸。


第二,似乎沒人考慮過如何發動葫蘆,使其開始監聽應答?


原作中的標準動作是站在高處(或跳起來)、將葫蘆口對準對方,並叫出對方名字(不論真假)。這裡如果把葫蘆理解為語音識別道具,當調用者喊出任何一個「有效姓名」時開始監聽,但有效姓名的集合僅存在於調用者思維中,這麼一來葫蘆就必須有讀取許可權。既然葫蘆可以讀取調用者的思維,那麼也就無需語音識別啟動這麼大費周章了,只要調用時心裡想著「我要吸你」就好了。


第三,如果對方的註冊名是「壽限無壽限無ウンコ投げ機一昨日の新ちゃんのパンツ新八の人生バルムンク=フェザリオンアイザック=シュナイダー三分の一の純情な感情の殘った三分の二はさかむけが気になる感情裏切りは僕の名前をしっているようでしらないのを僕はしっている留守スルメめだかかずのここえだめめだか......このめだかはさっきと違う奴だから池乃めだかの方だからラー油ゆうていみやおうきむこうぺぺぺぺぺぺぺぺぺぺぺぺおあとがよろしいようでこれにておしまいビチグソ丸」這種,還沒念完就要斷氣了吧……

(都是猴子,差距咋就那麼大呢)


所以鎖定對象的過程很簡單,就是掃描葫蘆口前方的錐體有效範圍內所有生物並開啟監聽。


下一個問題,如何判斷對象是否應答。


我的推斷是:判斷「是否應答」取決於對象本身。


銀角和悟空的對戰中,銀角第一次叫悟空悟空沒有回答,然後銀角問你為什麼不答,悟空說我耳背沒聽見。這次對話沒有觸發吸入操作,有幾種可能的原因:


葫蘆有超時。 調用者主動取消了操作。銀角問「你怎麼不應我?」的時候,他思維中已經默認吸入失敗了,因此葫蘆也沒有繼續監聽後面的對話。 悟空回答的「我有些耳閉,不曾聽見。你高叫。」不屬於應答。 我認為這三種設定可能同時為真,沒有矛盾。有問題的是樓上很多人提到了字元串判斷,那麼請考慮一下這個場景:


悟空和三藏在聊天,聊著聊著悟空摸了一下三藏的奶頭,三藏嬌嗔地大叫:「幹嘛啊~」。恰好這句話出口之前,銀角在山上手持葫蘆大叫「唐三藏」,那麼三藏會不會被吸?


如果這也吸就太扯蛋了吧?


所謂「應了一聲」是指對葫蘆的調用者作出響應——和上面一樣,這不是聲音識別,而是思維識別。也不存在字元串判斷的問題,葫蘆接受參數輸入的時候就已經是布爾值了。


那麼它讀取的是調用者的思維、還是被吸對象的思維呢?


如果讀取的是調用者的思維,那就太bug了,銀角可以喊話後立即自己假定對方回答了,然後不管實際有沒有回答都執行吸入。所以我認為它是讀取的被吸對象的思維,實現應答判定的不是葫蘆而是對象本身,葫蘆只關係應答結果。當被吸對象自己認為自己在應答的時候,那就是應答了。


至於悟空被吸的那次,他不是認為自己沒答應,而是以為自己答應的不是真名就沒事。這就類似於你以為你沒勾選,那些亂七八糟的工具條啊助手啊就不會安裝,但其實只要你點了「下一步」就會中招。


葫蘆相關的代碼大概是這樣吧:


publicinterfaceISuckable{Task


請您繼續閱讀更多來自 鳳凰新聞 的精彩文章:

天文旅遊,智利要領跑世界
加拿大「網紅」宇航員來滬:運用社交媒體普及太空知識
我們的征途是星辰大海,中國太空爭霸利器向美國亮劍
這是一座與眾不同的監獄,也是一間特殊的動物園
趙雲怎麼死的?趙雲死因真相是否是繡花針惹的禍
您可能感興趣

你都是怎麼稱呼的你對象的?
嗯哼大王對李晨的稱呼把杜江嚇了一大跳,霍思燕的反應更是讓大家捧腹不已
卧龍是諸葛亮,鳳雛是龐統,水鏡是司馬徽,但你可知道是誰先這樣稱呼他們的嗎?
話題:對於陌生男孩,你都是如何稱呼的?
原來楊冪真的不該稱呼天佑為喊麥哥,她應該這樣稱呼才對
如果你穿越到宋朝,應該怎樣稱呼皇帝與官員?
因為這樣稱呼天佑,楊冪被熱議!你怎麼看?
大清光緒皇帝對慈禧的稱呼竟然是「親爸爸」,慈禧一句話說出原因
你應該怎樣稱呼自己的愛人?這個叫法肯定錯了!
「花姑娘」、「太君」這些不倫不類的稱呼是怎麼來的?
古代對妖精的稱呼竟然是這樣的,別逮啥都叫精!
酷知識:「皇帝」這一稱呼是怎麼來的?
古人是怎樣稱呼皇帝的?有一忌諱不可以犯,否則下場可能會很慘
卧龍是諸葛亮,鳳雛是龐統,水鏡是司馬徽,是誰先這樣稱呼他們?
丈夫對妻子的七種稱呼,他是怎麼叫你的?
他們是女人卻讓皇帝稱呼阿媽,為什麼讓這麼叫呢
這種魚屬於獅子開大口,來者不拒,也不知道你們怎麼稱呼它
被網友稱為土壕的張柏芝表示不開心,那如何稱呼她?
古代女子是怎樣稱呼丈夫的?這把狗糧一定得吃!