# 这游戏好玩到让你学会编程，信吗？\| 领客专栏·電腦玩物

- 作者：Esor Huang
- 发布时间：2015-11-06 08:30
- 原文：https://www.ifanr.com/app/580926

[![Untitled 4](https://s3.ifanr.com/wp-content/uploads/2015/11/Untitled-4.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/11/Untitled-4.jpg)

「游戏化学习」是这几年的教育热潮之一，虽然说让上课变得更生动有趣、更多好玩互动本来就是自古以来的通则，但透过网络与数字技术的进步，我们有更多新鲜工具与互动方法可以应用到学习上。

而今天要介绍的「[CodeCombat](http://cn.codecombat.com/)」这个线上网站，或者说「线上游戏」，则是要让初学者透过玩游戏来学习编程，而且他有完整的繁体中文内容，不需要任何编程的经验，小学生就能上手，在有趣的奇幻世界与战斗关卡中学会各种编程的基本技巧。

「CodeCombat」创立于 2013 年，并且是一个开放原始码专案，所以很快地就拥有了世界各国语言版本，包含繁体与简体中文，关卡数量、可学习程序语言也持续增加，目前已经拥有 110 多个免费的关卡，能够学习 Python、JavaScript、Lua、CoffeeScript、Clojure 等不同程序语言，这些语言能够运用到游戏设计、网页应用、App 的开发上。

### **1. 学任何东西都不应该无聊：玩编程，学编程**

当你打开「CodeCombat」网站，你不会觉得这是一个让你看不懂的代码学习网站，因为他的网站外观看起来就像是一个魔兽争霸风格的线上游戏，而且当你实际玩玩看，你会发现过程真的就是英雄要去打怪、寻宝与解谜，只是搭配了程序语言的学习。

虽然我们无法期待初学者玩过「CodeCombat」后就能直接成为攻城狮，但是在整个游戏的过程中，我们还是能够学会每种程序语言的基本语法、逻辑架构、设定变量。

所以「CodeCombat」自称是设计给 9 岁以上想要学习代码的学生来练习的游戏，因为游戏帮助我们快速熟练，如果在课堂上还搭配老师的讲解，就更能事半功倍。

[![CodeCombat-01](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-01.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-01.jpeg)

### **2. 循序渐进的游戏学习关卡**

「CodeCombat」甚至连上手都非常简单，完全不需要额外指导，任何玩过游戏的朋友也一定都能立刻开始游戏，也能从中学习到各种程序语言的基础。

我们用 Google 或 Facebook 就能登入「CodeCombat」，这时候要挑选一位英雄，并选择自己想要学习的程序语言。

[![CodeCombat-04](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-04.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-04.jpeg)

接着在几个游戏大章节中，我们将会一步一步从基础语法开始，到相对复杂的变量设定，把这个程序语言逻辑循序渐进地理解。

[![CodeCombat-02](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-02.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-02.jpeg)

而章节里就是一个一个游戏关卡，但每一场小战役，都是精心设计的一个程序语言小技巧。

到这里为止，相信没有人会觉得有任何难度，任何人一定都能进入。

[![CodeCombat-03](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-03.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-03.jpeg)

### **3. 各种武器道具就是你学会的编程指令**

而在「CodeCombat」中最大的不同就是把游戏里的命令操作、武器道具都变成程序语言的指令，我可以使用语法去攻击敌人，或是当我获得技能宝典时可以学会让程序自动回圈的新指令。

于是我就能在打怪、寻宝的过程中，慢慢理解每个程序语法的作用。

[![CodeCombat-06](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-06.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-06.jpeg)

而且完全不懂代码的朋友也不要担心。

因为「CodeCombat」并非是要考验 ​​你游戏技巧的游戏，所以他的关卡里都有非常详尽的提示，会教你怎么输入程序语言来命令角色行动，当你输入错误时，也有清楚的提示教你为什么这样的语法会出错。

这些引导全部都有中文化。

[![CodeCombat-04 002](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-04-002.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-04-002.jpeg)

于是在简单几关的过程中，很快的我们就知道程序指令的逻辑，怎么设定一连串互相引发的行为，怎么命令对某个物件产生行动等等。

后面就会有愈来愈复杂的命令方式，这让你学会程序语言概念，也可以用来熟练程序语言的输入，或是懂得怎么设计出更有效的代码。

因为关卡也有不同的成就等级，如果可以用更精简的指令完成动作，可以获得更高分。

[![Screenshot 2015-11-04 at 22.46.49](https://s3.ifanr.com/wp-content/uploads/2015/11/Screenshot-2015-11-04-at-22.46.49.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/Screenshot-2015-11-04-at-22.46.49.jpeg)

### **4. 多人连线练习与老师学生部落**

更进一步的，在自学编程语言之外，「CodeCombat」还设计了团队学习程序语言的模式。

在「多人连线」中，我们可以根据不同难度来跟全世界学习编程的朋友进行连线对战，例如一个简单对战中我们要比谁可以更快输入一连串指令，在战斗中让自己存活更久。

[![CodeCombat-07](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-07.jpeg)](https://s3.ifanr.com/wp-content/uploads/2015/11/CodeCombat-07.jpeg)

而在「部落」模式中，老师可以开设一个社团让学生加入，这样一来可以观察社团中每一个人的学习进度，并且互相激励。

你也想开始学编程吗？或者你想要带学生一起练习编程？那么完全中文化的「CodeCombat」，或许是一个玩游戏学编程的好选择。

> 声明：「领客专栏」所有文章均由原作者授权 AppSolution 发布/转载，任何个人/组织未经授权不得使用。本文转载自「電腦玩物」，原文链接：[拚命玩遊戲就能學寫程式！ CodeCombat 還有中文版](http://www.playpcesor.com/2015/11/codecombat.html)
