# 烧脑又有趣！苹果官方的「编程游戏」登陆 Mac，让你快速入门 iOS 开发

- 作者：王宇涛
- 发布时间：2020-03-02 15:07
- 原文：https://www.ifanr.com/app/1311374

![](https://s3.ifanr.com/wp-content/uploads/2020/03/379639-Woman-using-MacBook.jpg)  
《Swift Playgrounds》是苹果官方推出的一款学习编程的 app，它不要求用户具备编程知识，适合想要学习编程的初学者，即使是完全没有编程经验的人也可以玩得津津有味。

在 Apple Store 中，你也会发现不乏有抱着 iPad 正入迷地玩着《Swift Playgrounds》的人，足见这是一款多么好玩的「游戏」。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/10-10.jpg)

最近，苹果基于 Catalyst 技术将 iPad 版《Swift Playgrounds》转换到了 Mac 平台，与 iPad 版相同，Mac 版也提供了各种训练和挑战，帮助用户了解编程基础。另外，Mac 版可以通过键盘将代码敲到屏幕上，更可以体会什么叫做「敲代码」了。

### 懒人目录

- 真正的 Swift，真实的编程
- 解谜、闯关，程序改变世界
- 迈向你的第一个程序的第一步

### 真正的 Swift，真实的编程

《Swift Playgrounds》是一款在游戏中学习编程的 app，类似《Human Resource Machine》通过组合指令完成目标任务一样，《Swift Playgrounds》需要你正确组合代码，引导角色在 3D 世界中游走以完成指定的任务，如收集宝石或闭合开关等。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/02-3.jpg)

▲ Human Resource Machine



但与《Human Resource Machine》不同的是，你体验的是真实编程。

真实的编程意味着你将与其他专业开发者一样，都使用 Swift 这一 Apple 创建的编程语言。这听起来可能难，但不必担心，游戏中提供的代码不是最底层的，而是一条条对应着具体动作的指令。你可以直接从菜单中选择，也可以配合自动补全通过键盘输入。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/03-3.jpg)

比如让角色向前走一步就是「moveForward」，向左转就是「turnLeft」，判断所在格是否有宝石为「isOnGem」，切换开关为「toggleSwitch」。这样的指令本质上是一个个函数，既保留了真实的编程语法，又大大简化了编程难度。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/031.gif)

除了具体的行动指令，游戏中更重要的还是函数、参数、变量等概念，以及流程控制语句，比如循环语句、条件语句等。通过弱化对行动指令的编程要求，而集中攻克游戏中的逻辑难题，将重点放在算法的建立上，能让玩家更好地体会到编程的乐趣所在。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/04-3.jpg)

### 解谜、闯关，程序改变世界

在游戏中，你需要控制主角在世界中走动，通过收集足够的宝石或闭合足够的开关来完成关卡。最开始，主角只会很简单的「向前走」或「向左转」，甚至「向右转」都需要三次「向左转」来实现，但随着闯关的进行，他会逐渐学会「判断所在砖块是否有宝石」或「判断前方是否受阻」等。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/05-3.jpg)

而你能用到的指令也随着游戏进行逐渐变多，最开始按着地图一步步走便能达成目标。随着难度的增加，地图中的宝石和开关的出现位置变成了不确定，甚至地形都将变为随机，这时候就必须配合条件或循环语句，使得程序的通用性提高。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/06-3.jpg)

而代码的通用性恰恰是评价一个程序好坏的重要标准，游戏也正是在向玩家灌输这样一个理念：开发者必须应对各种各样的输入环境，尽可能考虑到所有的情况。在环境随机的情况下，如何以不变应万变，是这游戏也是实际编程的一大难点所在。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/07-1.gif)

随着闯关的继续进行，你能做的也越来越多，这时候你可以通过编程来改造世界，而不只是顺从现有的地形，完成从闯关者到创造者的转变。游戏的最后，已经没有了任何任务，你需要自己创造关卡，就像《Minecraft》一样一步步建立起自己的世界，只不过这时候你手中的不是锤子，而是代码。

### 迈向你第一个程序的第一步

《Swift Playgrounds》的教程部分包括基础、进阶以及图形、坐标、触碰事件的学习。完成这些简单的语法学习后，便可以挑战更高难度的编程了，比如形状的操作、声音的创作、绘图等等。当然，也可以更进一步，试着做出一个小程序或小游戏，迈向属于自己的第一个程序的第一步。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/08-3.jpg)

除了内置课程库，在顶尖开发者和出版商打造的数十个频道中，还有更多的有趣的全新挑战。订阅你喜欢的频道，就可以在 app 中收到他们的最新创作。正如其名 Playgrounds，在游乐园中一边游玩，一边提升着自己的编程技能。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/09-3.jpg)

▲ 这才是真实的编程环境 Xcode



像游戏一样的编程，让初学者不会被充斥着五颜六色代码的界面吓退，而运行代码时看着主角在你的控制下慢慢走动何不也是一种享受呢。正是这种即时的反馈，让敲代码和玩游戏一样具有让人上瘾的魔力，而在《Swift Playgrounds》中可以体验到这种双倍的快乐。

![](https://s3.ifanr.com/wp-content/uploads/2020/02/01-4.jpg)

对于《Swift Playgrounds》这样「披着游戏外衣」的教育应用，你既可以将其当做游戏玩，也可以当做入门 Swift 语言的工具。或许，你也可以将其视作「程序员模拟器」，在不断 Debug 的过程中体验码农的辛酸与苦辣。

《Swift Playgrounds》适用于 iOS 12.0+ 的 iPad 和 macOS 10.15.3+ 的 Mac，iPad 版 402.1 MB，Mac 版 155.1 MB，完全免费。
