《Swift Playgrounds》是苹果官方推出的一款学习编程的App,它不要求用户具备编程知识,适合想要学习编程的初学者,即使是完全没有编程经验的人也可以玩得津津有味。在Apple Store中,你也会发现不乏有抱着iPad正入迷地玩着《Swift Playgrounds》的人,足见这是一款多么好玩的「游戏」。

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

真正的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的过程中体验码农的辛酸与苦辣。

c语言mac小游戏,烧脑又有趣!苹果官方的「编程游戏」登陆Mac相关推荐

  1. html打地鼠游戏设计报告,有趣的Axure案例:打地鼠游戏的设计

    一个有趣的实例,通过axure制作一个打地鼠的游戏,可以进行难度选择.其中如果选择难度一地鼠为正常大小,选择难度二,地鼠则为缩小版.虽然小游戏很简单,但其中用到的axure技能并不简单,接下来将为大家 ...

  2. 从游戏智能到疾病诊断,腾讯「绝悟」AI 从虚拟走向现实

    感谢阅读腾讯 AI Lab 微信号第 160 篇文章.本文介绍腾讯 AI Lab 决策智能AI「绝悟」从虚拟走向现实,首次验证了强化学习用于超大尺寸全片扫描病理图像诊断的可能性. 近年,游戏 AI 大 ...

  3. 大一 c.语言b卷答案,2017年计算机基础大一考试题「附答案」

    2017年计算机基础大一考试题「附答案」 一.选择题 1.已知x=101010B,对x求逻辑非,结果是( ) A.000010B B.010110B C.010101B D.000000B 2.语言处 ...

  4. mac云显卡服务器_云显卡玩吃鸡 NV GeForce NOW登陆Mac

    未来,只要网络足够好,想玩游戏大作,自己有没有一块顶级显卡,似乎已经不重要了. 近日,NVIDIA宣布,旗下最新的GeForce Now云端游戏服务正式登陆Mac平台,提供Beta版下载.该服务于今年 ...

  5. mac云显卡服务器_云显卡玩吃鸡逆天!NVIDIA_GeForce_NOW登陆Mac

    相信不少人都有这样的经历,大学时代花费了不少时间在玩游戏上面,而一款好的笔记本对于游戏也是很重要的,那么有什么大学生笔记本电脑推荐吗?还有,都说玩游戏需要一块好的显卡,但是在以后,想玩游戏大作只要网络 ...

  6. 计科系大一c语言期末考试题,大一大学计算机基础期末考试试题「附答案」

    大一大学计算机基础期末考试试题「附答案」 一.单选题 1.用一个字节最多能编出(D)不同的码. A. 8个 B. 16个 C. 128个 D. 256个 2.完整的计算机系统由(C)组成. A.运算器 ...

  7. 黑科技计算机玩游戏,别再嘲笑苹果电脑玩不了游戏!有了这项黑科技后比台式机还猛...

    原标题:别再嘲笑苹果电脑玩不了游戏!有了这项黑科技后比台式机还猛 苹果的笔记本在业界可以算是非常强大的存在,无论是外观设计还是产品性能都非常优秀,但同时它也有着致命的缺点,MacOS 系统对于众多游戏 ...

  8. java游戏抛物线方程,有趣的Axure案例:投篮游戏抛物线设计

    投篮效果实现的难度主要在于抛物线运动的实现,相比较作者的前几个实例,该实例的运算量要大很多,也是作者首次发现网页出现了卡顿,因此为了保证主要功能运行的流畅,次要功能没有保留. 本实例的特点是:篮球在重 ...

  9. 小齐是如何提高自己的「编程能力」的?

    上周的投票,大家最关心的还是提高技术,那我们今天就来聊聊这个话题. 之前主要分享的多是算法和数据结构方面(年后继续),因为我认为算法和数据结构是程序员最最最重要的内功,但是并不是唯一. 我自己作为一个 ...

最新文章

  1. 高级计算机职称考试题,高级职称计算机考试试题
  2. SQL语句like子句中的转义符
  3. 2021全年“遇冷”后,“电商节”该何去何从?
  4. Log4Net简单使用
  5. php中英文手册(集成用户注释08/12/2007)
  6. securecrt登录linux下载文件,Linux使用SecureCRT上传和下载文件教程
  7. 分布式:分布式系统的设计
  8. 国内外CDN服务商CNAME特征串调研
  9. gpd计算机等级,GPD WIN Max掌机评测:内置十代酷睿处理器
  10. Java架构师-集群:单体部署 ->Nginx 集群【网关、反向代理、动静分离、负载均衡】 -> Keepalived“高可用”组件 -> LVS负载均衡【LVS的并发量是Nginx的几十倍】
  11. html打印26个字母,用js完成:输出26个英文字母任意3个字母的全部组合
  12. php获取用户访问的dns,dnsproxy in php
  13. VTK: 拾取方式的三种实现
  14. java在线运行工具,终于搞明白了
  15. 如何快速学习一门新技术
  16. 2022软件测试工程师的简历怎么写?
  17. Python让Excel飞起来—批量处理行、列和单元格
  18. 关于google浏览器打不开网页问题之容易被忽略的点
  19. Shotgun/Shotgrid入门学习笔记一
  20. 谷歌注册手机无法验证解决办法2023亲测有效非常迅速

热门文章

  1. Windows部署halo并配置自启动服务
  2. 哪个学校计算机仿真专业,北京科技大学排名前五的专业有哪些呢?考上了,你该如何选择呢?...
  3. VS2008卸载安装失败
  4. TP-LINK Mini系列无线路由器设置指南(三)——Repeater模式
  5. Serv-U File Server
  6. 小马哥----高仿三星i8552机型刷机 6572芯片 系统为4.22 移植测试完美救机
  7. 常见的设计素材网站有哪些
  8. python读取图像数据流_【NUKE教程】Nuke Python 获取图像数据
  9. 前端如何实现权限管理板块的流程和思想
  10. 智能家电和信息家电的Internet连接