顏色代碼測驗,是一種瀏覽器挑戰,要求你觀察畫面上顯示的色塊,並輸入與之相符的 RGB 或 HEX 數值,接著系統會依照紅、綠、藍每個色版與目標值的接近程度來評分。在RGB Guessing Game中,這項任務恰好進行五個回合,每次成功配對色塊值 200 分,全部完美完成則恰好值 1,000 分。每個回合都會把目前的顏色繪製到一個 Canvas 元素中,因此頁面文字、ARIA 標籤與行內樣式都不會直接洩露答案;你只需要觀察色塊,決定要輸入三個 0 到 255 之間的十進位色版數值,還是輸入像 #AABBCC 這樣的 CSS HEX 色碼,然後送出你的估計值。遊戲接著會回傳三個色版各自的絕對誤差、其中最大的誤差,以及三者的總和。只有當每個色版的誤差都在 12 以內,且三個誤差加總在 24 以內時,這次猜測才算過關;這兩個門檻都是含邊界值,且必須同時成立。連續出現兩次不同的錯誤顏色後,這個回合會鎖定,直到你按下「Restart」為止;成功完成第五個回合,就代表整輪遊戲結束。

「顏色代碼測驗」在瀏覽器遊戲中代表什麼
顏色代碼測驗有好幾種形式。有些會顯示一組十六進位字串,要求你說出對應的顏色名稱。有些則會顯示一個色塊,要求你重現它的色碼。RGB Guessing Game 實作的瀏覽器版本,屬於第二種類型,它把辨識顏色當成一道數值估計問題,而不是詞彙記憶測驗。系統不會問你哪個顏色是「森林綠」或「天藍色」;而是要求你輸入三個數字,當這三個數字重新被解讀成紅光、綠光與藍光時,能呈現出眼前這個色塊。
這樣的設計把整個測驗變成一項量測練習。每個回合都是一次全新的校準:目標顏色隱藏在 Canvas 的像素緩衝區中,你的估計值會被解析成一組正規化的整數,唯一公開的回饋,就是每個色版的絕對誤差。這讓任何看得懂色塊、會操作數字欄位的人都能參與這款遊戲,不需要具備顏色名稱的詞彙量,也不需要學習滑桿的操作方式。如果你在網路上其他地方用過十進位的 rgb() 記法,或 CSS 的 #RGB 簡寫,這裡的輸入規則對你來說會很熟悉;如果沒用過,本文接下來會逐一說明。
RGB Guessing Game 的回合是如何運作的
每個回合都遵循相同的固定流程。這裡沒有時間壓力,也沒有漸進式的難度;回合之間唯一會變化的,只有目前顯示的色塊,而五個成功回合,每次都會產生相同的 1,000 分。
- 觀察目前 Canvas 顯示的色塊,決定要輸入十進位的 RGB 色版數值,還是輸入 CSS HEX 字串。
- 輸入三個介於 0 到 255 之間的整數,或是輸入格式為 #RGB 或 #RRGGBB 的十六進位字串,須包含開頭的井字號,數字可以是大寫或小寫的任意組合。
- 按下「Submit」動作,或在表單中按下 Enter 鍵,即可用你的估計值對照隱藏的目標顏色。
- 閱讀回傳的回饋內容:每個色版的絕對誤差、其中最大的單一誤差,以及三者加總後的誤差。
- 如果有任何一個誤差超過 12,或總誤差超過 24,就用更精準的估計值重複步驟 2 到 4,直到猜測過關、獲得 200 分,並解鎖下一個回合。
- 五個回合全部過關後,遊戲會進入終局的完成狀態,最終分數恰好是 1,000 分。
解讀每個色版的誤差回饋
每次提交後的回饋,刻意採用數值形式呈現。遊戲會回報三個絕對誤差,定義為 |目標紅色 - 猜測紅色|、|目標綠色 - 猜測綠色|,以及 |目標藍色 - 猜測藍色|。它也會顯示這三個數值中最大的一個,以及三者的總和。假設隱藏的目標值是 (200, 150, 100),而你輸入了 (212, 158, 100)。紅色誤差是 12,綠色誤差是 8,藍色誤差是 0,最大誤差是 12,總誤差是 20。兩個門檻都成立:每個色版的誤差都不超過 12,三個誤差的總和也不超過 24,因此這次猜測過關,獲得 200 分。
同樣的目標值,如果猜測是 (212, 158, 90),紅色誤差是 12,綠色誤差是 8,藍色誤差則是 10。最大誤差仍然是 12,但總誤差是 30,即使沒有任何單一色版的誤差超過 12,總誤差仍然超過了 24 的上限。這次猜測會失敗,因為雙重門檻規則要求兩個條件必須同時成立;一個大的失誤,無法靠另外兩個精準色版來掩蓋。同樣的邏輯,也能防止相反的失敗情況——三個各自都不大、但都不是零的誤差,累加起來超過 24。
RGB 與 HEX 輸入:相同分數,相同門檻
RGB Guessing Game 接受兩種等效的表示法,並在解析後把它們當作同一種輸入來處理。十進位模式要求輸入三個位於 [0, 255] 閉區間內的十進位整數。HEX 模式要求輸入一個以 # 開頭、後接三位或六位十六進位數字的字串。三位數的寫法會把每個數字重複一次,因此 #ABC 會展開成 #AABBCC;六位數的寫法則照原樣使用。十六進位數字不區分大小寫,這符合解析器所遵循的 W3C CSS Color Module Level 4 十六進位記法規則,MDN's hex-color reference同樣確認了這種三位與六位簡寫的行為。
| 格式 | 接受的語法 | 範例 | 色版範圍 |
|---|---|---|---|
| 十進位 RGB | 三個以逗號分隔的色版整數 | 200, 150, 100 | 0 到 255(含邊界) |
| 短版 HEX | # 後接三位十六進位數字 | #C86 → #CC8866 | 每個數字 0-F,會重複一次 |
| 完整版 HEX | # 後接六位十六進位數字 | #C89664 | 每兩位一組,範圍 00-FF |
這兩種格式,都會在計分之前、以及重複嘗試去重邏輯執行之前,被轉換成同一組紅、綠、藍整數值。這帶來兩個實際的效果。第一,你可以隨時在 RGB 與 HEX 之間切換,而不會失去目前的進度,這在某個色塊用其中一種記法表達比較容易時很有用。第二,如果你在一個回合中先用 200, 150, 100 猜錯一次,接著又用 #C89664 重新輸入同一個顏色,第二次的嘗試並不會消耗你的第二次機會,因為正規化後的數值組合是完全相同的。只有真正不同的顏色,才會被算作第二次不同的失誤。
計分、補救機會與卡關
成功過關的色塊,恰好獲得 200 分,而這款遊戲恰好有五個固定回合。因此五個回合全部成功,會產生確定性的最終分數 1,000 分,沒有任何額外獎勵、扣分,或因為「接近但沒中」而給的部分分數。沒有過關的回合,會保留一次補救機會。這次補救機會,就是第二次不同的錯誤顏色。如果你輸入一個顏色、看到回饋後,又輸入了同一個顏色——即使是從十進位 RGB 切換成對應的 HEX 形式——第二次提交仍然代表同一組正規化數值,不會被算作一次不同的失誤。真正不同的第二次錯誤顏色,才會讓這個回合進入卡關狀態,直到你按下「Restart」為止,而該回合的分數會維持在零。
格式錯誤、缺少色版數值、小數、負數,以及任何超過 255 的輸入,都會被當成解析失敗而拒絕,而不是被計為一次失誤,因此它們不會消耗你的補救機會,也不會改變分數。一旦某個回合完成或進入卡關狀態,之後的任何編輯、模式切換與提交,都會直接返回、不會改變業務狀態,這讓終局條件維持原子性且可預期。
鍵盤、行動裝置與老闆遮蓋畫面控制
這個介面採用原生的表單版面配置:Tab 鍵能在格式按鈕、輸入欄位與「Submit」動作之間移動焦點,在表單內按下 Enter 鍵則會送出目前的估計值。每個輸入項目都維持適合行動裝置觸控的高度,版面在窄螢幕上會收合成單欄顯示。所有遊戲狀態——目前回合、累計分數、最佳分數,以及卡關狀態——都只留在瀏覽器中。這裡沒有上傳、沒有帳號、沒有模型呼叫,也沒有遠端顏色服務;如果你想拿自己辨色的風格,跟一款以「調整」為基礎的挑戰做比較,Color Mixing Game's RGB and CMY walkthrough介紹的正是那種相鄰的格式。當共用的老闆遮蓋畫面顯示出來時,輸入編輯、模式切換、提交與「Restart」都會直接返回,不會改變本機狀態或計分狀態,因此這個遮蓋畫面是真正的防護機制,而不只是裝飾性的休息畫面。
欲進一步了解,請參閱Play Rock Paper Scissors Online: Win 1,000 Points。