每日單字謎題 — 每天一款免費的全新 Wordle 風格挑戰
製作你自己的每日單字謎題
每天一則全新的五字母謎題:六次猜測,所有人的答案都一樣,需要時還能免費拿一個字母。可直接在瀏覽器裡玩,免註冊、免下載,附上不洩漏答案的分享字串。
這頁的每日單字謎題是五個字母、六次猜測,每個日曆日只有一個答案。對所有跨到同一個日期的玩家來說,答案都相同。你輸入、送出,方塊會判定成綠色、黃色或灰色;六列用完後,盤面就不再接受輸入並顯示結果。免註冊、免下載,你和第一次敲鍵之間沒有任何插頁。盤面就是第一個畫面,而不是一個下面掛著「開始遊戲」按鈕的主視覺區塊。
接下來要說明的是這個作品的構成,以及背後的理由,其中包括一條和你已經熟悉的格式不同的規則:猜錯三次之後,你可以取用一個揭曉的字母,而分享字串會記錄你是否用了它。本文也會談到解答存檔、分享編碼器,以及你在 3D 遊戲建構器裡、或任何有鍵盤和畫布的地方做出自己版本時,所需要的四套系統。
今日謎題(即時)
頁面載入完成時,盤面就已經可以互動。六列、每列五個方塊置中排列;空格帶有 1 像素的中性邊框,只有目前這一列有焦點外框,游標會沿著它移動。盤面上方是日期、由該日期推算出的謎題編號,以及一行主題:可能是分類,也可能是「今日無主題」。盤面下方是三列螢幕鍵盤,最下面一列有輸入鍵和退格鍵,每個按鍵的字母一旦被判定為灰色淘汰,就會變暗。格子上方沒有彈出視窗,也沒有需要按掉才能開始的按鈕。
送出包含兩個固定順序的操作。第一是驗證:把輸入轉成大寫,確認正好是五個 A–Z 字母,再到詞表裡查詢。被拒絕的輸入會讓該列抖動、清空,而且不算一次猜測——列數計數器只有在單字存在於字典裡時才會前進。第二是計分:該列由左至右以短暫延遲依序填入,每個方塊判定為三種狀態之一。綠色表示該字母就在答案的這個位置。黃色表示答案有這個字母,但不在這個位置。灰色表示在扣掉綠色與較早的黃色之後,答案已經沒有這個字母的剩餘副本。
重新載入不會改變答案。謎題索引由本機日期推算,答案依該索引取得,而不是隨機抽出;當天的狀態——已送出的列、方塊顏色、是否取用了中途字母——會寫進本機儲存空間,鍵名包含當天的索引。解到一半重新整理,你還是會看到同一個盤面、同一個答案、同樣已填好的列。唯一會重置的是游標位置和打到一半的字母。
為什麼每日單字謎題要排在最前面顯示
版面配置的決定是:第一次互動應該是敲一下按鍵,而不是一次導覽。開頁即可見的內容,全都是玩家需要的狀態:日期,因為它告訴你正在解哪一天的謎題;謎題編號,因為它是分享字串裡的第一個記號;主題列,因為它告訴你今天的答案是不是出自比較窄的分類。鍵盤是實際畫在畫面上的,而不是預設玩家有實體鍵盤,因為有相當比例的流量來自手機;一個默默要求硬體鍵盤的謎題,會在第一列就流失這些玩家,而不是在結果畫面。
玩法說明:六次猜測、三種顏色、一個上限
你對一個隱藏的五字母單字有六次送出機會。當某一列五個方塊全綠,或第六列完成計分,盤面就停止接受輸入。從介面的角度來看,勝利和失敗是同一件事:第六列完成判定。失敗時,答案會出現在結果面板,而不是改寫到盤面上,所以你分享出去的格子仍然和你看到的一致。
重複字母是依出現次數分別計分,而不是依字母計分。計分器會跑兩趟:第一趟標出所有綠色,並把該答案字元從池子裡移除;接著由左至右掃過剩下的猜測字母,只有在池子裡還有副本時才標成黃色,並消耗掉它。實例——答案是 ELDER,猜測是 EERIE。第一趟把第一個 E 標成綠色並移除。池子現在是 L、D、E、R。第二趟:第二個 E 是黃色,因為池子裡的 E 位於索引 4;R 是黃色,因為池子裡的 R 位於索引 5;I 是灰色;第五個 E 是灰色,因為僅剩的那個 E 在兩個方塊之前就被消耗掉了。同一個字母,在同一列裡出現三種不同顏色。這樣的輸出才是正確的,只跑一趟的計分器會算錯。
綠色方塊鎖定的是一個位置,不是一個字母。它告訴你答案在該索引有這個字元。它沒有告訴你這個字元只出現一次——索引 3 的綠色 A 和後面某一列的黃色 A 可以並存,因為答案可能有兩個 A。除了已經顯示的顏色之外,它也對該列其他四個位置沒有任何額外資訊。把綠色讀成「這個字母已經確定」的玩家,會停止尋找第二個副本,然後在第五、第六列卡住。
01
選字母,不要選單字。五字母答案裡常見的字母是 E、A、R、O、T、L、S、N、I 和 C。開局那一列應該測試其中五個,而不是你覺得好看的五個字母。
02
把它們分散在五個不同位置。SLATE 把 S 放在 1、L 放在 2、A 放在 3、T 放在 4、E 放在 5——五個常見字母、五個不同位置,而且母音放在中間,能產生最大的限制效果。
03
第一列不要重複字母。重複會佔掉一個原本可以測試未測字母的方塊,而重複字母很少是開局的關鍵限制。
04
把每一列讀成一組限制條件,而不是一個分數。每個灰色都會讓某個字母從未來的猜測中消失。每個黃色都會替某個字母刪掉一個位置。每個綠色則固定一個位置。
05
第二列要涵蓋第一列沒碰到的常見字母,並把綠色留在原位。如果第一列出現兩個綠色,第二列就測試三個新字母。
06
到了第四列,你應該是根據限制條件在解題,而不是提出單字碰運氣。如果第五列還在瞎猜,代表前面幾列用得太差。
中途字母(這一版哪裡不一樣)
第三列判定完、仍未解出時,鍵盤下方會出現一個按鈕:取用中途字母。它會揭曉答案中的一個字母,位置是在謎題產生時就選好的,而不是按下按鈕時才決定。某一天取用它的人,都會拿到同一個位置上的同一個字母。只能取用一次,無法復原,而且第一、第二列不會提供——你必須先花掉三次猜測。
顯而易見的替代方案是難度選擇:簡單模式從一開始就給你一個字母,困難模式則不給。那會把玩家拆成兩個盤面、產生兩組無法互相比較的分數,讓連續紀錄的意義變成兩套,並且把每個規則問題都變成「發問的人當時在哪個模式」。中途字母讓盤面維持只有一個。所有人都在同一個答案上解同樣的五個字母;有些玩家多了一個限制條件才完成,有些則沒有,而這個差別會被記錄下來,而不是被藏起來。
用過提示的分數和沒用提示的分數不能相提並論。這一點會明白寫出來,而不是掩蓋過去。如果你取用了字母,你的結果就會帶著標記——六次中四次、附提示標記,而不是乾淨的六次中四次——在分享字串和結果面板裡都一樣。讓分數變得不能相比,正是這個提示的重點:另一種做法是提示悄悄地讓兩個不同的謎題看起來像同一個,這對沒有使用提示的玩家更不公平。
為什麼每日單字謎題不該有難度設定
難度是玩家的屬性,不是盤面的屬性。一旦你推出兩種盤面,存檔就必須說明每個過往答案屬於哪一種,連續紀錄必須依模式分開計算,分享字串也需要一個大多數讀者都會忽略的模式記號。一條補救規則可以避開這一切:作品維持固定,輔助採自由選用,唯一新增的狀態是一個布林值,剛好塞得進分享字串。
昨日的答案與解答存檔
今日盤面正下方、預設收合的就是解答存檔:最近七個答案,各自附上它上線的日期。它是一份清單,不是一組可以玩的盤面。你不能打開昨天的格子並送出六次猜測,因為對已經計分的一天再試一次,會讓連續紀錄失去意義,也會把存檔變成一個附帶日曆的練習模式。
今日的答案永遠不會出現在那份清單裡。存檔是從今天減一往回走索引、累積到七筆就停止所產生的,所以目前的索引在構造上就被排除,而不是事後再過濾掉——過濾這種東西,最容易在某次重構中被調換順序,然後把答案漏出去。清單會在本機午夜、盤面重置的同一刻向前滾動。
- 設計上的理由如果漏了一天——旅行、晚班、電池沒電——壞掉的是習慣,不是詞彙。讀一下昨天的答案不花任何成本,還能給你一個回到今日盤面的理由。直接讓你重玩昨天,能滿足同樣的好奇心,卻會在過程中摧毀每日的限制。
- 存檔的用途它是一份紀錄,也是一條補救路徑。它回答「那是什麼」,讓那次錯過不至於懸而未決,然後就停在這裡。練習屬於另一個模式、另一個盤面,不屬於歷史紀錄。
| 日期 | 答案 |
|---|---|
| 昨天 | CRANE |
| 兩天前 | MOUTH |
| 三天前 | PILOT |
| 四天前 | BREAD |
| 五天前 | SHINY |
| 六天前 | VAPOR |
| 七天前 | LUNCH |
為什麼一天一題勝過無限輪
單一盤面是一段有界的遊玩時段。它會結束。第六列判定完後,今天就沒事可做了,介面也不再提供任何東西——沒有再玩一次、沒有下一輪、沒有分數倍率。遊玩長度是由格式決定,而不是由你願意繼續點多久決定,這就是為什麼結果面板是一個終止狀態,而不是一個迴圈。
無盡練習模式做的是另一件事。那是你學習計分規則、測試 SLATE 或 CRANE 哪個更適合當你的開局、以及在不必動用明天謎題的情況下從糟糕的一天恢復過來的地方。分享循環也是在那裡失效的,因為一個沒有其他人玩過的盤面所產生的結果,並不是可以互相比較的結果。每日盤面是你會拿出來聊的東西;練習則是你獨自做的事。
| 性質 | 一天一題 | 無盡練習模式 |
|---|---|---|
| 遊玩長度 | 有界:六列,然後進入終止的結果面板 | 無界:持續到玩家離開 |
| 誰玩同一個盤面 | 同一個本機日期的所有玩家 | 沒有;每一輪都是各自抽出 |
| 結果可比性 | 直接可比——同一個答案、同一套規則,提示標記會被記錄 | 無——某一次抽到的六次中三次,不能用來比較另一次 |
| 分享價值 | 高;讀者可以拿自己的結果來對照 | 低;讀者沒有對應的盤面 |
| 失敗模式 | 漏掉一天,代價是一天的習慣 | 難度漂移;玩家會為了量而最佳化,而不是為了正確率 |
| 適合 | 想要固定每日儀式與可比較分數的玩家 | 正在學習規則或測試開局的玩家 |
不劇透的分享字串
分享字串是由盤面狀態產生,不是由玩家自行輸入。它包含謎題編號與日期、六次中的得分、取用中途字母時的提示標記,以及依列序由上到下、由左到右排列的彩色方格。沒有別的了。一次四列解出、並使用提示的結果看起來像這樣:
每日單字謎題 #412 · 4/6 · 已使用提示——後面接著四列、每列五個方格,依你遊玩的順序,各列由灰到黃到綠。格子就是分數;分數就是格子的表頭。
它刻意省略的東西:任何猜測的字母、主題,以及揭曉的中途字母所在位置。格子裡的顏色本身已經是一組限制條件——這無可避免,也正是這個格式值得閱讀的原因——但公布補救字母佔據哪個索引,等於直接送給讀者一個免費的綠色方塊。提示只會被標記為「已使用」,永遠不會標記位置。
禮儀上的重點
把整塊貼上去。不要描述你的猜測。一則寫著「我第四次就猜到了,我開局用 SLATE,中間那個字母是 R」的訊息,會讓任何進行到第三列的人直接得到答案,而且是在一個只要貼上區塊就完全安全的地方。區塊存在的目的,就是讓你不必在時間壓力下做那個判斷。
- 包含:謎題編號與日期讓讀者能分辨自己看到的是今日盤面,還是先前累積的舊題。
- 包含:六次中的得分單一數字,玩家之間可比較,在格子之前就能讀懂。
- 包含:提示標記一個記號,表示取用了中途字母。不含位置,也不含字母。
- 包含:顏色格子每列五個方格,依遊玩順序排列。由儲存的方塊狀態解碼而來,絕不手動編輯。
- 排除:所有文字內容沒有猜過的單字、沒有答案、沒有主題列、沒有揭曉的字母、沒有索引。讀者能看到你解題的形狀,卻看不到任何能貼進解題器的東西。
打造你自己的版本
一個 Wordle 形狀的遊戲規模很小。四套系統,而且只有一套真的容易出錯。主題換皮多半只是換掉詞表和方塊美術;計分函式和答案取得路徑才是錯誤棲身的地方。
開始之前,有兩種失敗模式值得先點名。第一種是主題詞表太短。只有六十個詞的主題,任何知道分類的人都能用六次猜測強行破解,盤面上方的主題列就從提示變成劇透。主題詞表請保持數百筆的規模,否則就拿掉主題列。第二種是答案會隨重新整理而輪替。如果每次載入都重抽單字,分享字串就不再描述一個共享的作品,連續紀錄也不再有任何意義,因為玩家可以重新載入到比較簡單的單字;而依日期索引存放的本機儲存空間,會還原五次針對不同答案的猜測——產生任何計分器都不可能輸出的方塊狀態。請從日期推算索引、依索引取得答案,並且永遠不要在答案取得路徑上呼叫隨機函式。
在 3D 遊戲建構器裡做出每日單字謎題
3D 遊戲建構器是一個通用場景建構器,而單字謎題是一個介面場景:一個畫布、一個方塊格、一層輸入,以及一個結果面板。如果你不想只用扁平矩形,Agent Sprite Forge 可以處理方塊與鍵盤美術。計分邏輯只是幾十行 JavaScript,完全不會碰到 3D 流程。如果你希望結果畫面是一個地方,而不只是一個面板,Mini World 和 The Cyclops’ Island 就是現成的範例,展示了場景能圍繞一小段邏輯承載多少內容。
- 詞表一個由五字母大寫字串組成的 JSON 陣列,去重複、不含專有名詞,除非你想要,否則不要用以 S 結尾的複數形。載入一次,建立 Set 供成員檢查。如果你希望可接受的詞比願意提供的答案多,就把答案和猜測放在不同清單。
- 驗證器在計分之前執行。拒絕任何不是五個 A–Z 字母的輸入,再拒絕任何不在 Set 裡的輸入。拒絕時絕不能增加列數計數器,否則玩家會因為打錯字而損失猜測次數,然後怪罪遊戲。
- 兩趟式計分器先對答案標綠色,再對已消耗的池子標黃色。只跑一趟的實作,在重複字母上會回傳錯誤顏色,正好就是前面 ELDER/EERIE 的例子;而且這個錯誤只會在一小部分的列上出現,所以才能通過測試。
- 分享編碼器把 6×5 的方塊狀態映射成精簡字串——每個方塊一個字元,三種值加上空白——並在呈現時解碼。儲存代碼,不要儲存表情符號;存檔裡的表情符號,是等著某次 Unicode 更新來引爆的遷移問題。
更多像 Wordle 的每日遊戲
每日遊戲合輯是本站所有會在午夜重置的內容索引。如果你是為了單字謎題而來,其中有四個去處與你相關。
- 每日遊戲合輯上層清單:這裡每一款以日期推算盤面的遊戲,每種格式一筆,讓你不必在站內東翻西找,就能挑第二個每日習慣。
- 固定盤面的數字遊戲結構和這個謎題相同——次數有上限、每天一個答案、依位置計分——只是把字母換成數字,這讓限制條件更容易推敲,開局也更不容犯錯。
- 空間謎題答案是一個排列而不是一個單字的每日盤面,所以分享字串描述的是一個形狀,而不是顏色格子。
- Wordle 替代方案清單一份精選的其他每日單字格式清單,每一項用一行說明它改了規則集的哪裡,讓你一眼就能看出它是變體還是換皮。
- Mini World 與 The Cyclops’ Island如果你希望每日習慣最後通往一個地方,而不只是一個面板,這兩者都在 3D 遊戲建構器裡打造,展示了小型規則集有了場景之後會是什麼樣子。
走進它所屬的世界
今日的答案已經載入在上面了。下一步,是讓文字遊戲值得玩第二次的那一步:給它一個容身之處,讓你打造的謎題成為一個有連結的頁面,班級或群組聊天可以同時打開。本站的每個世界,都是從一段文字描述開始,最後成為某個人可以遊玩的頁面。
常見問題
每日單字謎題免費嗎? +
是的。盤面、中途字母、解答存檔和分享字串全都在頁面上,沒有付款步驟,列與列之間也沒有插入廣告。
我需要帳號嗎? +
不需要。進度和連續天數存在瀏覽器的本機儲存空間,鍵名包含當天索引。清除網站資料就會清掉,伺服器上也沒有個人檔案可以還原。
重新載入後單字會變嗎? +
不會。答案是依日期推算的索引查得,而不是隨機抽出;你送出的列也會從本機儲存空間還原,所以重新整理會回到同一個盤面,已填的列也一樣。
我可以玩昨天的嗎? +
不能當成盤面玩。存檔會列出最近七個答案與日期,僅供閱讀。沒有辦法對過去的一天送出猜測,因為對已計分的一天再試一次會破壞連續紀錄。
中途字母算作弊嗎? +
這是介面明文提供的輔助,不是作弊——它在三次猜測之後提供一次,而且當天所有人拿到的是同一個位置上的同一個字母。它會在分享字串裡標記,所以用過提示的分數永遠不會被當成乾淨的分數呈現。
我的連續天數會怎樣? +
在本機午夜前解出盤面,就算一天;漏掉一天,計數就歸零。用中途字母解出的一天仍算解出,並會另外標記,所以連續天數和提示紀錄永遠不會互相矛盾。
我可以分享又不劇透嗎? +
可以——貼上產生的區塊。它帶著謎題編號、六次中的得分、提示標記和顏色格子,並省略字母、主題,以及揭曉字母的位置。不要在後面再加上關於你猜測的評論。
我可以自己做每日謎題嗎? +
可以。它需要四套系統:一份詞表、一個在計分前執行的驗證器、一個能處理重複字母的兩趟式計分器,以及一個分享編碼器。3D 遊戲建構器可以承載場景,Agent Sprite Forge 則涵蓋方塊與鍵盤美術。
回到 3D 遊戲建構器
全部 31 個完成的 3D 世界、遊戲與場景都在同一個頁面上——每一個都能玩。