編織日和

文章分類

常用工具

更多編織日和

語言

  • 中文
  • 日本語準備中
  • English準備中
Slow Living / 生活靈感與學習

SwiftUI 教學遊戲|零基礎用偵探故事學寫 iPhone App

本篇目錄10 個段落
  1. 雨夜懷錶案是什麼遊戲?
  2. 用遊戲學 SwiftUI 有什麼不一樣?
  3. 八個章節會學到哪些 SwiftUI 概念?
  4. 完全沒寫過程式,要怎麼開始玩?
  5. 卡關了怎麼辦?
  6. 雨夜懷錶案適合誰?
  7. 玩完之後,下一步可以學什麼?
  8. 常見問題
  9. 破案之後,去真實的大稻埕走走?
  10. 喜歡推理解謎?下一步可以玩真人密室逃脫

想學寫 iPhone App,卻卡在第一堂課就看不懂?「雨夜懷錶案」是一款免費的 SwiftUI 教學遊戲,把程式課變成一樁咖啡館失竊案。每一章只學一個 SwiftUI 概念,寫對了,手機畫面立刻出現,你也拿到一條破案線索。完全沒寫過程式也能從第 0 章開始。

免費開始玩:雨夜懷錶案 →

雨夜懷錶案是什麼遊戲?

晚上九點四十七分,大稻埕的霧港咖啡停電三十秒。燈亮時,老闆鎖在保險箱裡的祖傳懷錶不見了。你扮演新來的偵探,手上只有一支還沒寫完的辦案 App。

遊戲畫面分成兩半:左邊是 Swift 程式碼,右邊是一支模擬 iPhone。你在左邊改程式,右邊的畫面就跟著變。每修好一個畫面,證物板上就多一條線索,最後要用所有線索指認犯人。

用遊戲學 SwiftUI 有什麼不一樣?

  • 一次只學一件事:每章只有一個新概念,任務通常只要改幾行。
  • 馬上看到結果:不用安裝 Xcode,打開網頁就能寫,右邊的手機即時預覽。
  • 錯誤訊息看得懂:寫錯時會標出第幾行,並用中文補充怎麼修,錯誤格式和 Xcode 一致。
  • 有故事推著走:想知道懷錶去哪了,就會想把下一章寫完。

八個章節會學到哪些 SwiftUI 概念?

章節劇情SwiftUI 概念你會寫出的程式
第 0 章領取偵探證認識編輯器與預覽把 Text 裡的名字改成自己的
第 1 章證物卡Text 顯示文字Text("林若琴")
第 2 章監視器最後一格Modifier 調整樣式.font(.largeTitle)
第 3 章三份證詞VStack 垂直排版VStack(alignment: .leading)
第 4 章窗台上的鞋印HStack 與 SF Symbols 圖示Image(systemName: "magnifyingglass")
第 5 章老闆的信封@State、Button、ifisOpen.toggle()
第 6 章嫌疑人名單List 與 ForEach 清單ForEach(suspects, id: \.self)
第 7 章保險箱TextField 與 BindingTextField("密碼", text: $code)

手機上可以左右滑動表格。

這八個概念是大多數 SwiftUI 畫面的骨架:顯示文字、調整樣式、排版、放圖示、處理按鈕、列出清單、接收輸入。

完全沒寫過程式,要怎麼開始玩?

  1. 用電腦打開雨夜懷錶案遊戲頁面。手機也能玩,但打程式碼比較不方便。
  2. 從第 0 章開始:只要把引號裡的「新人偵探」改成你的名字。
  3. 按黃色的「執行並檢查」,通過後會拿到線索,並出現「下一章」按鈕。
  4. 每章左邊的「SwiftUI 筆記」會用白話說明這一章的概念,先讀再寫。

卡關了怎麼辦?

  • 看紅色錯誤列:它會告訴你第幾行出錯。最常見的是少了引號、括號,或大小寫打錯。
  • 按「給我提示」:會告訴你要寫在哪裡、寫什麼。
  • 按「看解答」:參考解答不會直接覆蓋你的程式,想用時再按「套用」。
  • 按「重設程式碼」:改亂了可以回到這一章的起點。

雨夜懷錶案適合誰?

  • 想學寫 iPhone App,但從沒碰過程式的人
  • 看過 Swift 教學影片,卻還沒真正動手寫過的人
  • 想用比較輕鬆的方式複習 SwiftUI 基礎的學生
  • 喜歡推理、解謎遊戲的人

玩完之後,下一步可以學什麼?

遊戲裡的程式碼是標準的 SwiftUI 語法,可以直接貼進 Xcode 的預覽畫面執行。想從遊戲接到完整的課程,推薦跟著 Paul Hudson 的免費課程「100 Days of SwiftUI」一天一天學。我把每天的內容整理成中文筆記,從開始前的準備講起:

100 Days of SwiftUI 開始之前,要先學什麼、又不該做什麼?

其他可以接著做的事:

  • 在 Mac 上安裝 Xcode,把遊戲裡的畫面貼進去,看它在真正的模擬器裡長什麼樣子。
  • 用 iPad 或 Mac 上的 Swift Playgrounds,繼續用小專案練習。
  • 挑一個遊戲沒教到的主題往下學,例如畫面切換(NavigationStack)和把資料傳給子畫面(@Binding)。

常見問題

玩這個遊戲需要 Mac 或安裝 Xcode 嗎?

不需要。遊戲直接在瀏覽器裡執行,Windows 電腦也能玩。之後想把 App 裝到自己的 iPhone 上,才需要 Mac 和 Xcode。

雨夜懷錶案要付費嗎?

完全免費,不用註冊。

我的進度會被保存嗎?

會。進度存在你目前使用的瀏覽器裡,同一台裝置、同一個瀏覽器回來可以接著玩。換裝置或清除瀏覽資料後會從頭開始。

遊戲裡的預覽和真正的 iPhone 一樣嗎?

預覽是在網頁裡模擬 SwiftUI 的一部分功能,外觀接近 iPhone,但只支援遊戲用到的元件。程式碼本身的寫法和 Xcode 相同。

之後會有更多章節嗎?

會依照玩家的回饋繼續擴充新的案件,教更多 SwiftUI 功能。

破案之後,去真實的大稻埕走走?

遊戲裡的霧港咖啡是虛構的,但故事舞台大稻埕是真實存在的台北老街區。玩完之後,可以去看看案件發生的地方:

  • 迪化街的老街屋、南北貨與中藥行
  • 老茶行、永樂布市和各種手作體驗
  • 傍晚到大稻埕碼頭看夕陽

大稻埕的導覽行程和在地體驗,可以在 Klook 一次比較場次與價格:

看大稻埕導覽與手作體驗 →

喜歡推理解謎?下一步可以玩真人密室逃脫

在遊戲裡,你靠線索、證詞和密碼破案;真人密室逃脫把同一套推理搬到現實,要你和隊友在時間內找出機關、解開謎題。適合 2–6 人組隊,朋友聚會或公司團康都很適合。

各種主題的密室逃脫和實境解謎,可以在 Klook 比較場次與價格:

看密室逃脫場次 →

以上兩段含聯盟連結:透過連結預訂,我會獲得少量分潤,你付的價格不變。

懷錶到底被誰拿走了?答案就在第七章的保險箱後面。

開始辦案 →