燒腦又有趣!蘋果官方的「編程遊戲」登陸 Mac,讓你快速入門 iOS 開發

《Swift Playgrounds》是蘋果官方推出的一款學習編程的 app,它不要求用戶具備編程知識,適合想要學習編程的初學者,即使是完全沒有編程經驗的人也可以玩得津津有味。

在 Apple Store 中,你也會發現不乏有抱著 iPad 正入迷地玩著《Swift Playgrounds》的人,足見這是一款多麼好玩的「遊戲」。

最近,蘋果基於 Catalyst 技術將 iPad 版《Swift Playgrounds》轉換到了 Mac 平台,與 iPad 版相同,Mac 版也提供了各種訓練和挑戰,幫助用戶了解編程基礎。另外,Mac 版可以通過鍵盤將代碼敲到屏幕上,更可以體會什麼叫做「敲代碼」了。

懶人目錄

  • 真正的 Swift,真實的編程
  • 解謎、闖關,程序改變世界
  • 邁向你的第一個程序的第一步

真正的 Swift,真實的編程

《Swift Playgrounds》是一款在遊戲中學習編程的 app,類似《Human Resource Machine》通過組合指令完成目標任務一樣,《Swift Playgrounds》需要你正確組合代碼,引導角色在 3D 世界中遊走以完成指定的任務,如收集寶石或閉合開關等。

▲ Human Resource Machine

但與《Human Resource Machine》不同的是,你體驗的是真實編程。

真實的編程意味著你將與其他專業開發者一樣,都使用 Swift 這一 Apple 創建的編程語言。這聽起來可能難,但不必擔心,遊戲中提供的代碼不是最底層的,而是一條條對應著具體動作的指令。你可以直接從菜單中選擇,也可以配合自動補全通過鍵盤輸入。

比如讓角色向前走一步就是「moveForward」,向左轉就是「turnLeft」,判斷所在格是否有寶石為「isOnGem」,切換開關為「toggleSwitch」。這樣的指令本質上是一個個函數,既保留了真實的編程語法,又大大簡化了編程難度。

除了具體的行動指令,遊戲中更重要的還是函數、參數、變數等概念,以及流程式控制制語句,比如循環語句、條件語句等。通過弱化對行動指令的編程要求,而集中攻克遊戲中的邏輯難題,將重點放在演算法的建立上,能讓玩家更好地體會到編程的樂趣所在。

解謎、闖關,程序改變世界

在遊戲中,你需要控制主角在世界中走動,通過收集足夠的寶石或閉合足夠的開關來完成關卡。最開始,主角只會很簡單的「向前走」或「向左轉」,甚至「向右轉」都需要三次「向左轉」來實現,但隨著闖關的進行,他會逐漸學會「判斷所在磚塊是否有寶石」或「判斷前方是否受阻」等。

而你能用到的指令也隨著遊戲進行逐漸變多,最開始按著地圖一步步走便能達成目標。隨著難度的增加,地圖中的寶石和開關的出現位置變成了不確定,甚至地形都將變為隨機,這時候就必須配合條件或循環語句,使得程序的通用性提高。

而代碼的通用性恰恰是評價一個程序好壞的重要標準,遊戲也正是在向玩家灌輸這樣一個理念:開發者必須應對各種各樣的輸入環境,儘可能考慮到所有的情況。在環境隨機的情況下,如何以不變應萬變,是這遊戲也是實際編程的一大難點所在。

隨著闖關的繼續進行,你能做的也越來越多,這時候你可以通過編程來改造世界,而不只是順從現有的地形,完成從闖關者到創造者的轉變。遊戲的最後,已經沒有了任何任務,你需要自己創造關卡,就像《Minecraft》一樣一步步建立起自己的世界,只不過這時候你手中的不是鎚子,而是代碼。

邁向你第一個程序的第一步

《Swift Playgrounds》的教程部分包括基礎、進階以及圖形、坐標、觸碰事件的學習。完成這些簡單的語法學習後,便可以挑戰更高難度的編程了,比如形狀的操作、聲音的創作、繪圖等等。當然,也可以更進一步,試著做出一個小程序或小遊戲,邁向屬於自己的第一個程序的第一步。

除了內置課程庫,在頂尖開發者和出版商打造的數十個頻道中,還有更多的有趣的全新挑戰。訂閱你喜歡的頻道,就可以在 app 中收到他們的最新創作。正如其名 Playgrounds,在遊樂園中一邊遊玩,一邊提升著自己的編程技能。

▲ 這才是真實的編程環境 Xcode

像遊戲一樣的編程,讓初學者不會被充斥著五顏六色代碼的界面嚇退,而運行代碼時看著主角在你的控制下慢慢走動何不也是一種享受呢。正是這種即時的反饋,讓敲代碼和玩遊戲一樣具有讓人上癮的魔力,而在《Swift Playgrounds》中可以體驗到這種雙倍的快樂。

對於《Swift Playgrounds》這樣「披著遊戲外衣」的教育應用,你既可以將其當做遊戲玩,也可以當做入門 Swift 語言的工具。或許,你也可以將其視作「程序員模擬器」,在不斷 Debug 的過程中體驗碼農的辛酸與苦辣。

《Swift Playgrounds》適用於 iOS 12.0+ 的 iPad 和 macOS 10.15.3+ 的 Mac,iPad 版 402.1 MB,Mac 版 155.1 MB,完全免費。