「每日成語」App的緣由,設計與開發

Back to Home Page

最近英語猜字的遊戲, 叫Wordle風靡全世界, 聽說每天有百萬人在玩, 花個3,5分鐘, 猜一個由五個字母組成的英文單字. Wordle每天都會出一個新的英文單字謎題讓人猜. 可以猜六次. 許多人樂此不疲. (有興趣猜英文單字的朋友, 在New York Times每天都可以找到Wordle的遊戲).

 

這個遊戲收集了約1萬3千個英文單字, 都是五個字母組成的, 作為allowed words. 謎底的話, 總共約2300個. 每天的謎底就是一個有五個英文字母的單字, 約2300天後(6年多), 謎底就要重複. 你要玩的話, Wordle不給你任何提示, 你要憑空想出一個有五個字母的英文單字作為你的第一猜. 如果你猜的單字不在1萬3千個allowed的words內,Wordle會跟你說這個英文字不行,你必須重新猜出一個allowed word. 然後Wordle把你猜的單字的五個字母跟謎底的五個字母一一比對, 你猜的字母如果在謎底的五個字母裡面, 而且位置對的話, 這個字母的格子就會呈現綠色. 如果位置不對, 這個格子就會呈現黃色. 如果你猜的字母不屬於謎底的五個字母裡面, 這個格子就會呈現灰色. 這些顏色的字母等於提供極其寶貴的情資,作為你第二猜的參考. 如此這般, 看你能不能在六次內猜到.

 

從Wordle這個遊戲的啟示, 筆者想, 中文類似Wordle的遊戲, 會是什麼樣的結構? 應該不是猜中文單字, 而是猜成語. 中文四字成語也很多, 2-3萬個可以用. 每個成語有四個中文單字, 就像Wordle的每個字都有五個字母. 問題是英文字再多, 歸納出來也只用26個字母就可以拼出來. 而成語的所有中文單字, 歸納起來, 恐怕有幾萬個. 如果憑空猜一個成語, 拿來跟謎底的中文單字一一比對, 猜對一個單字的可能性, 是太渺小了.能夠把幾萬個單字濃縮的辦法,一般想到的就是部首. 但是500多個部首也是太多了. 另一個想法就是用四角號碼來代表單字.這也可以, 只不過成語有四個中文單字, 每個中文單字需要四個空格讓你猜它的四角號碼. 猜一次成語就要在16個空格填0到9的數目字, 比起Wordle猜一次只要在五個空格填英文字母是多很多. 況且四角號碼很少人會去用. 另外一種辦法就是把中文單字用它的漢語拚音的第一個英文字母 (又叫”頭碼”) 來代表;等於說 一個中文單字就投射出一個 英文字母. 如此這般就回歸到26個英文字母的範圍內. 謎底的中文四字成語就取它的各個單字的頭碼投射出一個四個英文字母的組合. 所以, 用”頭碼”的方式, 就把四字成語的謎底transform成四個英文字母, 比Wordle 的謎底的五個英文字母還少一個. 在成語的輸入上, 你可以用中文輸入或頭碼輸入( 頭碼的英文字母大寫小寫, App都可以接受). 不管你是中文輸入或頭碼輸入, App都會把你的輸入轉成四個英文字母. 然後用這四個字母與謎底的四個字母逐一比對. 這就跟Wordle的五個字母與謎底的五個字母逐一比對一樣的邏輯. 因此, 綠色黃色灰色格子的處理, 也就follow Wordle的方式. 惟一的不同是在「每日成語」的App上, 綠色及黃色的格子除了有英文的頭碼外, 更重要的是它還顯示出謎底的中文單字.這些中文單字在對或錯的位置等於是寶貴的情資, 幫助你往謎底的方向去猜.

Description
圖一 「每日成語」的網頁.

按照這個構想, 筆者設計了一個「每日成語」網站 https://idioms.andrewl.in, 只有一張網頁, 如圖1所示. 首先, 就是按一下”how to play”, 讀一讀簡單的instruction. 了解一下成語是如何玩(玩過Wordle的人就比較駕輕就熟). 然後你只要在最下面那一行的大格子input 欄按一下,Cursor就在該欄跳動, 你就可以打入你猜的成語(用中文輸入或頭碼輸入) 然後按手機鍵盤右下角的「換行」(Return); 其他的格子不要去動它. 成語被你猜對後, 按 ”Share result”, 可以把你猜的結果copy到clipboard上面, 然後copy 到email或LINE群組上與朋友分享成果.圖2就是顯示猜的結果copy到clipboard上.

Description
圖二: 把猜的結果copy到clipboard上.
Description
圖三: 猜成語的過程及結果

圖3是一個範例, 它顯示的是筆者某一天在這個網頁上猜成語的過程. 第一猜是一夫當關(筆者用頭碼yfdg輸入; 你也可以填入中文「一夫當關」輸入), 這個成語, 運氣不好, 四個頭碼字母全部down掉, 沒有一個猜對, 所以四個格子都是灰色, 英文鍵盤的yfdg也都呈灰色. 第二猜: 引人注目(筆者用頭碼yrzm輸入; 你也可以填入中文「引人注目」輸入), 雖然”目”不在謎底內, 但是我們比對不是照中文單字比對, 而是按照頭碼. “目”的頭碼m是在謎底內, 它的對應中文單字在謎底內是”名”, 所以我們知道謎底內有個中文單字叫”名”, 但是位置不對, 所以格子呈黃色, 同樣的, 英文鍵盤的yrz也都呈灰色, m呈黃色. 第三猜是風花雪月(筆者用頭碼fhxy輸入; 你也可以填入中文「風花雪月」輸入). 雖然” 雪”不在謎底內, 但是它的頭碼x是在謎底內, 它的對應中文單字在謎底內是”虛”, 而且位置也對,所以格子呈綠色, 同樣的, 英文鍵盤的fhy也都呈灰色,x呈綠色. 筆者一想, 謎底有”名”, 有”虛”, 而且”虛”是在第三個位置, 試試”名不虛傳” (筆者用頭碼mbxc輸入; 你也可以填入中文「名不虛傳」輸入), 果然就猜對了, 四個格子全呈綠色, 英文鍵盤的mbxc也都呈綠色. 猜完後,筆者就按了”Share results”, 一個alert window就會pop up. 說「每日成語」的結果已經copy到clipboard云云,你只要 click ”close”, 你猜的結果就會copy到clipboard. Clipboard就只有呈現顏色, 沒有字母, 也沒有中文單字的格子 (如圖2所示); 你可以copy and paste 到email或是LINE群組(如果你是用手機猜「每日成語」). 另外,如果你有feedback的話, 按 ”Send feedback”, 就會pop up一個email的window, 讓你寫下意見, click 它的send button, 筆者就會收到你的feedback, review後 回覆. 世界各地的人都可以玩, 每天就只給一個新謎底, 子夜更新. 成語有3萬多個, 每天一個, 一生也玩不完. 這篇短文簡介「每日成語」網站與有興趣猜成語遊戲的讀者分享.希望你能Enjoy it every day!( Don Lin, 2025-07-07, New Jersey)

文章的PDF file

 

Back to Home Page