跳至主要内容

23 篇文章 含有標籤「我做的東西」

我自己寫的工具、遊戲和程式

檢視所有標籤

「00」遊戲

· 閱讀時間約 4 分鐘 ┊ 純文字版

看到 Ikuka 這篇〈指針式時鐘的必要性〉,她提到自己現在戴的是有 Hello Kitty 底圖的傳統指針手錶(你們可以自己連過去看圖)。還說每當朋友問她時間,她把手腕伸過去時,對方的反應往往是:「我看不懂啦!」。

(誰在乎現在幾點呢?這時正確的反應應該是:「哇你這 Hello Kitty 錶也太少女、太可愛了吧!」你看我是不是有學到一點點 F 人的說話方式了?)

我才意識到,好久沒有看到別人戴傳統指針手錶了耶!

我記得我小時候都是喜歡戴數字錶的,就是 Casio 那種黑色液晶數字、有碼表、錶面上還會號稱自己「防水 50 公尺」的款式(但我連水下 1 公尺都不想下去)。長大之後嫌電子錶太「孩子氣」,於是改戴 Swatch 假裝自己是個有品味的大人。

(大概從高中還是大學開始戴、用來裝成熟的 Swatch)

更之後我有很長一段時間都不戴手錶,因為根本不會出門要看時間就看電腦或手機就好啦。最近兩年開始跑步之後,才開始戴 Garmin,好好用喔我超級推薦它!

不過以上不是重點。這篇是想要分享小時候我會把碼表當作電動玩具,玩「嘗試把小數點後面兩個數字按成 00」的遊戲,一玩就可以很久。不覺得按中「00」的時候很滿足嗎?

所以,以下放了一個直接可以玩的版本,快來挑戰按到「00」吧!

00:00.00

不囉唆的文字移調器

· 閱讀時間約 2 分鐘 ┊ 純文字版
不囉唆,直接開始用!

請到 NiceChord.com/transpose 開始使用。

這個工具其實已經發表在好和弦官網 NiceChord.com 好一陣子了,但我還沒在這裡提過。

不曉得有多少人跟我一樣,常常用純文字來記錄音樂想法?比如說,在 Markdown 檔案裡面直接這樣寫和弦表:

Cmaj7 | Am7 | Fmaj7 | G9sus | C(add2) ||

用純文字記和弦,寫的時候真的很方便。但是,如果我想把整份和弦表移調怎麼辦?

MuseScore 之類的打譜軟體,都有內建的移調功能,但純文字檔就沒有。網路上雖然有一些文字移調工具,但它們都爛爛的,介面囉唆複雜、廣告多、跑得慢,而且同音異名的處理常常錯誤,連該轉成 D# 還是 Eb 的邏輯都沒弄對。

所以我只好自己寫一個了。

(不囉唆的文字移調器,介面超級簡潔,不囉唆!)

程式的邏輯很簡單:用正規表達式掃描整個文字,找到任何「大寫字母 A-G + 可能的升降記號」的組合,把它移調,然後其他字元完全不動。就這樣。

但重要的是,這個移調器是受過(我的)樂理教育的,它在乎所謂「正確」的音名,而不僅僅是琴鍵上的位置!舉幾個例,你就知道它跟那些沒有愛的工具是不一樣的:

  • 把 C# 移高大三度,會得到 E# 而不是錯誤的 F
  • 把 D# 移高增四度,會得到 G## 而不是錯誤的 A
  • 把 Cmaj7 | Am7 | Fmaj7 | Dbmaj7 移高完全四度,會得到 Fmaj7 | Dm7 | Bbmaj7 | Gbmaj7,注意它不會把 Bb Gb 誤寫成 A# F#

如果你也像我一樣喜歡用純文字寫音名或和弦代號,而且是看到 E# 被寫成 F 就會抓狂的那種人,這個不囉唆的移調器,就是你一直以來在找的東西!

到 NiceChord.com/transpose 就可以直接使用,歡迎把它加到書籤!

時間就是金錢

· 閱讀時間約 4 分鐘 ┊ 純文字版

想知道你的時間值多少錢嗎?回答以下兩個簡單的問題。

🎫 問題一:排隊領折價券

7-11 要發 100 元的現金折價券,只要排隊就可以領!

你「最多」願意排多久的隊,來領一張價值 100 元的折價券?

分鐘(不可以輸入 0,但可以輸入小數點)

🚕 問題二:坐小黃比較快

你要去某個地方,並沒有特別趕時間。

  • 你可以選擇坐捷運再轉公車,只要 60 元,那大概要花一個半小時。
  • 或者,你也可以選擇坐計程車,大約只要 40 分鐘就能到了。

你「最多」願意花多少錢來坐這趟計程車?

元(必須輸入 60 以上)

⏱️ 你的時間值多少錢?

填好上面兩個欄位了嗎?是的話,請按下下面的按鈕:

📈 怎麼解讀以上結果?​

如果算出來的數字明顯「高於」你的實際時薪:這表示你「高估」了自己的時間價值,太容易拒絕花時間的選項──不願意排隊、不願意搭慢一點的交通工具、不想自己煮飯等等。但問題是,實際的收入並沒那麼高,這樣長期下來會存不到錢。

如果算出來的數字明顯「低於」你的實際時薪:這表示你「低估」了自己的時間價值,願意為了小錢花很多時間──為了折扣排隊、貨比三家、繞路找便宜車位。結果就是花了太多時間省小錢,但根本就不划算,長期下來會讓你沒時間做更重要的事。

如果兩個問題的數值差很多:這表示你對時間價值的判斷很混亂。你可能是那種為了省十塊願意排隊,但叫外送時卻又毫不猶豫加一百塊外送費的人(或反過來)。這很正常,人類本來就是矛盾的。

做了紙牌遊戲的介紹影片

· 閱讀時間約 1 分鐘 ┊ 純文字版

我幫前幾天「推出」的紙牌遊戲《決鬥 25》做了簡短的介紹影片,如果你想要推給別人玩,這影片可以幫他快速了解遊戲。

影片在 YouTube 和 Wiwi.Video 上面都有。

如果想要跟電腦玩,比較好的版本在這篇貼文裡。

我把原本的 NiceCode YouTube 頻道直接改名成「Wiwi 點 Blog」1了,反正 NiceCode 的影片大部分都沒有放在 YouTube 上,直接讓 Wiwi.Blog 接管頻道應該也不會有人 care。未來如果偶爾我想要把某篇 blog 文章變成影片形式發表(應該不會很頻繁),我就也會放在那裡。

Footnotes​

  1. 因為 YouTube 不讓我在頻道名裡面用 .。 ↩

「決鬥 25」紙牌遊戲基本 AI 版

· 閱讀時間約 8 分鐘 ┊ 純文字版
資訊

2025-09-24 更新:修正了牌堆用完檢查的邏輯。

程式碼在 GitHub 和 Code.Wiwi.Blog。

用了非常簡單的算法做了 AI,這個版本的電腦不再是隨機出牌了,而是會內部模擬多場牌局,看出哪一張牌的勝率最高。

試試看,有沒有比上一版難贏?

不知道怎麼玩?請看上一篇貼文。

「決鬥 25」紙牌對戰遊戲 v2.0

♠️♣️ 攻擊 | ♦️ 反擊 | ♥️ 回血

玩家:25 HP電腦:25 HP
你的手牌(點選出牌):
點選手牌出牌開始對戰!

睡前想到的紙牌對戰遊戲

· 閱讀時間約 7 分鐘 ┊ 純文字版

前幾天晚上我躺在床上,本來應該要睡覺的,結果頭腦卻開始設計起紙牌遊戲來。

於是,誕生了以下這個超級簡單的雙人紙牌對戰遊戲。我把它取名為「決鬥 25」(Duel 25),因為「決鬥 52」已經被用過了。 🤣

規則​

  • 👥 人數:兩人。
  • 🎒 準備:用一般的撲克牌就可以了!兩位玩家各發 5 張牌作為初始手牌,剩餘的牌放在旁邊當作抽牌堆。玩家的啟始生命值為 25 點。
  • 🏆 勝利條件:將對手的生命值降到 0 或以下則算勝利。如果雙方同時死亡則平手,抽牌堆用盡時也算平手。
  • ⚙️ 遊戲流程:每回合雙方從手牌選取一張要出的牌,面朝下放在桌上,雙方都決定好後一起翻開。牌翻開後,按照以下規則結算效果。
  • 🧩 牌的功能:
    • 黑色牌 ♠️、♣️ 為攻擊牌:會造成對方該牌點數的傷害(A=1、J=11、Q=12、K=13)
    • 方塊 ♦️ 是反擊牌:只在對手出攻擊牌時才有效,可以完全躲過攻擊,並造成對手「方塊牌點數」的反傷
    • 紅心 ♥️ 是回血牌:依照點數回復自己生命值,上限為 25 點
  • ⚔️ 攻擊先行:攻擊與回血牌同出時,攻擊牌一律先行。如果攻擊牌造成致命傷害(生命值降到 0 或以下),則遊戲直接結束,不再有回血機會。
  • 📥 抽牌:一回合過後,如果雙方都還有生命值,就各抽一張牌(補回 5 張),繼續下一回合。

範例​

  • 玩家 A 出 7♠️,玩家 B 出 5♦️ → 玩家 A 受到 5 點反擊傷害,玩家 B 不受傷害
  • 玩家 A 出 10♣️,玩家 B 出 3♥️ → 玩家 B 先受到 10 點傷害,如果還有生命點數,玩家 B 才可回復 3 點生命值
  • 玩家 A 出 K♠️,玩家 B 出 8♣️ → 雙方同時受到攻擊,玩家 A 受到 8 點傷害,玩家 B 受到 13 點傷害
  • 玩家 A 出 8♥️,玩家 B 出 5♦️ → 玩家 A 回復 8 點生命值,玩家 B 的牌無效(對方沒有攻擊)

跟電腦玩玩看!​

試試看以下的小小程式,跟電腦玩玩看!

電腦只是隨機出牌而已,完全沒有策略,但即使這樣,好像也沒有辦法場場都贏。

提示

覺得以下的電腦太弱?試試看另一個有簡易出牌 AI 的版本。

「決鬥 25」紙牌對戰遊戲

♠️♣️ 攻擊 | ♦️ 反擊 | ♥️ 回血

玩家:25 HP電腦:25 HP
你的手牌(點擊出牌):
點擊手牌出牌開始對戰!

撲克牌密碼

· 閱讀時間約 10 分鐘 ┊ 純文字版

你是一個間諜(代號「蛋餅俠」),正在執行一個機密任務。目標:傳遞一條重要訊息「九點老地方見面,幫我買蛋餅」傳給你的搭檔(代號「豆漿哥」)。

但情況比預想中的更棘手。你身在人潮湧動的酒吧中,到處有形形色色的目光在遊走,任何一點疏忽都可能暴露你的身份。你該如何把訊息傳出去?

  • 寫小紙條?太冒險了,一旦被發現,多年的臥底生涯就毀於一旦。
  • 傳 LINE?別鬧了,你以為政府的監控系統是吃素的嗎?

正當你陷入沉思時,眼角瞄到桌上放著一盒撲克牌。你若無其事地走過去,假裝整理桌面,順手把牌拿了出來。

在其他客人眼中,你只是一個無聊在把玩紙牌的上班族,但其實你的雙手正以訓練有素的技巧,重新排列著這 52 張牌。排列完後,你把牌重新收回盒子裡放在桌上,起身離開酒吧,就像什麼都沒發生過一樣。

半小時後,豆漿哥走進店裡,看似隨意地拿起那副牌,看了幾眼之後,他嘴角微微上揚。

晚上九點整,老地方。豆漿哥準時出現,手裡拿著兩個熱騰騰的蛋餅。

這是什麼爛故事?​

不重要啦。重點是蛋餅俠是怎麼做到的。

當然不是直接在牌上做暗號(例如寫字或折起來什麼的),那太明顯了。而是直接用撲克牌的「排列方式本身」來儲存訊息!

一副撲克牌的 52 張牌,有超級多種可能的排列順序,精確地說是 52!(52 的階乘),大約 8 ⋅ 1067 種。既然牌的排列順序本身,就包含了這麼多資訊,那我們有沒有可能把祕密訊息編碼成撲克牌的順序,然後拿到牌的人就可以靠這個排列順序,解碼出原本的文字呢?

Lehmer Code​

答案當然是可以的!

有個叫做 Lehmer Code 的演算法,可以把任意的排列順序對應成獨一無二的數字。

簡單來說,52 張牌的每一種排法,都可以用 Lehmer Code 轉換成專屬的數值,而這個數值又可以進一步編碼成文字訊息。反過來操作,任何文字也能先轉成數字,再透過 Lehmer Code 對應到特定的排序。

這樣一來,我們就可以將撲克牌的「排列順序」作為訊息載體了。

舉個實例

例如,你想傳送「HELLO」這個訊息給朋友。具體的步驟如下:

  1. 文字轉數字:把「HELLO」用 ASCII 或其他編碼方式,變成一個超級大的數字,例如:310939249775(這只是舉例,實際數字會有 68 位數)。
  2. 數字轉排列:用 Lehmer Code 把這個巨大數字對應到一個 52 張牌的特定排列順序,例如 紅心K,黑桃7,方塊A,梅花Q⋯⋯。
  3. 實際排牌:把這個順序實際用真的牌排出來。
  4. 傳遞訊息:把這副「看似隨機排列」的撲克牌交給朋友。
  5. 解碼:朋友收到牌後,將完整的排列順序用 Lehmer Code 反推回那個巨大數字 310939249775,再將這個數字以約定好的文字編碼方式轉為文字,就得到「HELLO」了!

撲克牌編碼程式​

網路上已經有個叫做 Asher Falcon 的人把這個概念實作出來了,你可以讀他的部落格文章了解他是怎麼做的,也可以到這個網址直接使用他的編碼程式。

但 Falcon 的版本有個致命的缺陷:為了讓傳遞的訊息夠長,它只使用 5 個位元來儲存每個字元。也就是它的訊息內容只能使用 .,-\"/abcdefghijklmnopqrstuvwxyz 這 32 個字元的其中之一,連阿拉伯數字都不能用。身為一個國際化的現代間諜,這種限制怎麼能接受?

所以我重弄了一個使用 UTF-16 編碼的版本,每個字元用 16 位元來儲存,可以支援絕大部分的中文字和表情符號,這樣用一副牌還是能夠放進長度 14 字元的訊息1。用我的版本,就算是要傳「🥞早安我ㄉ朋友おはよう🌸」這樣的訊息也沒問題唷!

原始碼放在:https://code.wiwi.blog/wiwi/text-to-cards

玩玩看!​

使用方式:

  • 編碼:輸入一個字串(14 個字元以內),程式會輸出 52 張撲克牌的排列。
  • 解碼:輸入 52 張撲克牌的排列(例如:As 3d Th 8c⋯⋯),程式會輸出訊息字串。

透過這個程式,你就可以把任何文字訊息藏在一副撲克牌裡面了!

試試看解碼我的訊息吧:

As 3s Js 6c 7s 9s Ad 2d 7d Jc 9c 2s Jd
4h 8s Kc 4c 4s Qc Kh 7c 5h 3d 7h 5s Td
9h 5d Ac Qh 6s Kd Th 3h 9d 2c 6h Ts Jh
5c 8d 6d 3c Qs 8h 2h 4d Ks Qd Tc Ah 8c
0 / 14 字元
等待輸入文字...
等待輸入撲克牌...
準備就緒

Footnotes​

  1. 52 張撲克牌的排列順序資訊約是 224 位元,每個字元使用 16 位元的話剛好可以放入 14 個字元。 ↩

WiwiStudio 音樂能力測驗

· 閱讀時間約 16 分鐘 ┊ 純文字版

2008 年,我在當時的官網 WiwiStudio.com 推出了一個用 Flash 製作的音樂測驗遊戲,就叫做《WiwiStudio 音樂能力測驗》。

(《WiwiStudio 音樂能力測驗》的歡迎畫面截圖)

第一個爆紅作品​

《WiwiStudio 音樂能力測驗》從 2008 年上線以來,一直到大約 2019 左右我把 WiwiStudio.com 網站徹除(轉址到 NiceChord.com)這十年出頭的期間,它累積了超過五百萬人次觀看,是我製作過的第一個「真正的爆紅作品」(就算是你現在搜尋它,也能找到很多以前的討論串和文章)。

隨著 Flash 在 2020 年正式停止支援,這個程式也無法在現代的瀏覽器中執行了。(又一次地展示了我們為什麼不該使用專有格式)

其實這作品的原始碼是有保存下來的,只是我遲遲沒有重製它,倒不是因為技術困難,而是不想破壞這份「歷史的回憶」。你知道,有時候最好的作品就是已經消失的作品,因為這樣它就變成了一個傳說,大家記憶中的版本往往比實際上的更美好。

重新釋出​

但是,最近我就在我的硬碟裡考古嘛,看到這些原始碼和素材,讓它們一直躺在我的硬碟裡發霉也沒意思。所以我今天把它以部落格貼文的形式重新放出來,現在你可以重新完整體驗所有題目和音樂了!

原始版本的規則是每一題只能播放兩次。但這邊我只是直接貼上音樂檔,你要照規則玩還是作弊無限次播放都隨你!畢竟都 2025 年了,誰在乎 17 年前的遊戲規則呢?

我在文末移植了原汁原味的算分系統到這個網頁上喔!只要輸入你的答案,它就會用當年那套比星座更不科學的演算法給你「音感、節奏感、音樂記憶力、專注力、整體音樂天份」的五項分析數據!當然,原始的排行榜功能就沒有了,資料庫早就不見啦!

開始玩吧!​

準備好測試你的音樂能力了嗎?拿出一張紙寫下你的答案吧!有 26 題,應該大約 20 分鐘可完成,記得用你最好的耳機或喇叭玩。

不過再次提醒一下,這是 2008 年的作品,我那時候還很菜,不要期待太高的品質。


《WiwiStudio 音樂能力測驗》題目開始​

01​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

02​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

03​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

04​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

05​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同

06​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同

07​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

08​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

09​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由電吉他、電貝斯和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「電吉他部份」有些不同
  • c. 不相同,兩個片段的「電貝斯部份」有些不同
  • d. 不相同,兩個片段的「爵士鼓部份」有些不同

10​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由電鋼琴、電貝斯和合成鼓組演奏,請注意聽當中電鋼琴的部份。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,電鋼琴彈的「音高」有些不同
  • c. 不相同,電鋼琴彈的「節奏」有些不同
  • d. 不相同,電鋼琴彈的「音高和節奏」都有些不同

11​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由鋼琴、低音提琴和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「鋼琴部份」有些不同
  • c. 不相同,兩個片段的「低音提琴部份」有些不同
  • d. 不相同,兩個片段的「鋼琴和低音提琴部份」都有些不同

12​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

13​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

14​

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由鋼琴、電貝斯和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「鋼琴部份」有些不同
  • c. 不相同,兩個片段的「爵士鼓部份」有些不同
  • d. 不相同,兩個片段的「鋼琴和爵士鼓部份」都有些不同

15​

第 15-17 題,將測驗你將音樂視覺化的能力。

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

16​

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

17​

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

18​

第 18-20 題,要測試你的心理節拍穩定度。

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

19​

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

20​

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

21​

最後六題,也就是第 21-26 題,要測試你的節奏辨識力和記憶力。

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 10
  • b. 11
  • c. 12
  • d. 13

22​

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 10
  • b. 11
  • c. 12
  • d. 13

23​

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 17
  • b. 18
  • c. 19
  • d. 20

24​

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 22
  • b. 23
  • c. 24
  • d. 25

25​

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 23
  • b. 24
  • c. 25
  • d. 26

26​

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 28
  • b. 29
  • c. 30
  • d. 31

恭喜你完成測驗,來對答案!​

按我看解答!
ababbbadcbdabcacdbcbbdcacb

或者直接在下面的文字框輸入答案,讓我直接用原始遊戲的公式幫你算分!

目前輸入長度:0 / 26

好玩嗎?​

如果你喜歡以上的測驗,我在 2019 年做了這個音樂測驗的續集《尋找黃金檸檬卷之聽力大挑戰》,它是一個 YouTube 影片迷宮遊戲,很好玩唷!還沒玩過的趕快到以下連結:

依賴

· 閱讀時間約 4 分鐘 ┊ 純文字版

我們每天都在依賴別人的產品和服務:

  • 🍜 想吃一碗烏龍麵時:我們不會從頭去學如何種小麥、磨麵粉、做麵條;我們會直接買現成的麵條來煮,或是去餐廳點一碗。
  • 💊 生病時:我們不會自己研發藥物、進行人體實驗;我們會直接依賴醫生的判斷和藥廠的成果。
  • 🎵 做音樂時:我們也依賴別人發明的樂器、音色庫、記譜法、樂理、調律系統和編曲軟體。

寫程式時也是一樣。幾乎沒有人會想要從零開始自己寫所有功能,所以我們會匯入別人已經寫好的函式庫。但問題是,當有太多外部依賴時,程式會變得很肥,還會受制於他人;更糟的是,我們可能會漸漸失去對自己程式運作原理的理解。

不囉唆的節拍器​

好幾年前,在好和弦的官網 NiceChord.com 上面,我寫了一個「不囉唆的節拍器」程式。

之前的版本是用 tone.js 這個函式庫做的1,最後完成的程式檔案大小大約 362 KB,看起來已經很小了對吧?但前幾天我用單純的 JavaScript 重做,完全不依賴外部函式庫,結果檔案大小驚人地縮減到只有 2.1 KB──原本的 172 分之一!

現在這個節拍器程式,已經小到可以被放在一個 QR Code 裡面!以下的 QR Code 不是下載連結喔,而是「整個程式」本身!只要掃描它,把內容文字存成 .html 檔就可以直接使用。

(這可能是網路上唯一一個可以印在便條紙上的節拍器了。)

減低依賴​

說到減低生活上的依賴,我最愛的例子應該是離開 Evernote 這件事。

我曾經有很長一段時間使用 Evernote 在作筆記,但 Evernote 的依賴超多:

  • 需要使用特定的專有 App 才能編輯筆記
  • 筆記的儲存空間需要每個月持續付費
  • 要同步筆記,需要依賴單一廠商的雲端服務
  • 雲端服務需要依賴持續的網路連線
  • App 本身也需要依賴新版的 macOS 和 Windows 系統運作
  • 而要更新到新版的 macOS 和 Windows,都依賴你擁有特定的硬體或網路帳號

要使用 Evernote 作筆記,我就得要滿足這些依賴性。再加上,如果 Evernote 突然改變介面、大幅漲價,或者最糟的情況──倒閉,我的筆記就像被綁架的人質一樣,付了贖金都不見得拿得回來。

我現在已經改用 Markdown 檔案來做筆記,Markdown 可以被幾乎任何文字編輯器開啟,不依賴任何特定 App 或作業系統,也可以很輕易地配合任何形式的雲端同步服務。

更低依賴性的作法是使用鉛筆和筆記本,這樣的話連電腦和電力都不依賴,永遠都不會遇到系統更新或格式不相容的問題。當然,你得要小心別把咖啡打翻在上面(紙張對液體的相容性仍然有待改進)。

這個網站的依賴性很低​

你現在所在的 Wiwi.Blog 網站也不依賴複雜的科技。它只是很單純的靜態網頁,不需要高速的電腦也能流暢瀏覽,甚至連「現代」的瀏覽器都不是必要條件。就算是用超極簡的 Dillo,或者終端機裡的純文字瀏覽器如 w3m,都還是可以順利閱讀內容。

(Wiwi.Blog 在超低科技極簡瀏覽器 Dillo 也可以正常運作)

健康的依賴關係​

檢查自己生活和工作中的「依賴鏈」,看看其中是否有環節是被單一公司壟斷的。如果有的話,考慮調整工作方式,或至少準備一套備用方案。這樣當這個脆弱的環節出問題時(它一定會出問題的),我們才不會手忙腳亂。

我們雖然無法避免所有的依賴,但至少可以避免那些「今天不更新就無法使用」的 Apps。謹慎地挑選依賴對象吧!

Footnotes​

  1. 它就是一些別人寫好的,讓你在網頁中可以發出聲音的程式碼。
    https://tonejs.github.io/ ↩