前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用游戏化的方式学编程

用游戏化的方式学编程

原创
作者头像
用户10912119
修改2024-08-22 16:34:57
1340
修改2024-08-22 16:34:57

学习编程的方式很多种,最能激发普通人学习兴趣的莫过于边玩边学。原因也很简单,好的游戏自带及时反馈机制,可以不断刺激我们大脑多巴胺的分泌,可以让原本枯燥的学习变得动力满满。

我自己早期也做过 莫烦Python 编程学习网站,里面的在浏览器中直接运行代码的 交互式学 Python 内容,为一部分人提供了新的学编程方式。虽然有实时交互,但是学习中最关键的刺激点【及时反馈】还未完全体现。

接下来我来对比几个利用游戏机制来辅助学习编程的产品,为那些中途放弃,或者是还未开启编程之路的同学们重拾信心。

使用对比

如果不想看长文介绍,你大概也能从这个表中看到一些维度上的对比

产品

主要支持语言

怎么学

关键词

费用

有官方教学材料

游戏种类

AI 创想家

Python

闯关中学习

真人竞技

全免费

有文档和 API,细粒度,关卡即学习材料

3 种

codingame

支持多语言

偏向于在外面学会了再来挑战

真人竞技,刷题

全免费

丰富

screeps

JavaScript

有一套粗粒度的入门文档

在线游戏

部分免费

有文档和 API,粗粒度

1 种

CodeCombat

JavaScript, Python, Lua

在闯关中学习

非常多关卡挑战,真人竞技

部分免费

有 API,关卡即学习材料

丰富

codemonkey

积木编程, 文本语言,Python

在闯关中学习

简单易上手

部分免费

有 API,关卡即学习材料

不同语言有不同游戏

通过上面表格大概就能根据你自身的情况,来决定到底要从哪里开始了。接下来我来详细介绍一下体验感受。

AI 创想家

AI 创想家是腾讯的一款免费学编程产品(主要为 Python 语言)。它使用游戏化的闯关、多人竞技 PK 的方式,做足了游戏中的【及时反馈】。特别是独特的竞技 PK 模式,让大家可以”以码会友“,共同成长。

这里的对手可以是真是玩家,也可以是 AI 机器人。你在其中的任务就是通过自己的代码策略挑战他们。在一轮轮挑战中,完成自己的学习成长之路。

当然,为了照顾新手,官方还提供了入门的学习关卡,甚至专门做了 Python 基础语言在线学习、运行内容。在还没有熟悉语言或者使用方法的时候,可以从单人闯关的模式入手。所以对于小白的学习梯度还是比较平缓的。

当前 AI 创想家里有三种不同的游戏,听说官方在今年还会推出一款战略游戏。拭目以待。

官方会定期举办不同的竞技赛事,在赛事中,你会与其他人对抗竞争,并看到你的榜单排名。如果是学校老师的话,还可以申请建立独立榜单,搞自己的活动赛。

Codingame

Codingame 和 AI 创想家是同一类型的,但是是国外公司开发的游戏化编程学习产品。他包含了很多游戏,这些游戏都比较小,更像是一种游戏化的算法题。需要有算法思维和解题技巧来通关。它能用多种语言来做解题。

如果你做过 leetcode(程序员面试刷题),你再玩 Codingame,你就有有一种很强烈的 Leetcode 感受。但是从形态上来说,以一种游戏化的方式来刷 leetcode,也不乏是一种不错的选择。至少没有纯刷题感受那么无聊了。

除了这种刷题的模式,他还有和真实用户对战的方式,所以我觉得和腾讯的 AI 创想家 可以作横向对比。这两个都能在对战中不断提升自己的代码水平。毕竟和真人玩,心态都不一样。

screeps

screeps 和 AI创想家 还有 Codingame 一样,都能和真实用户对战,但是最主要的差异点为它是:大型多人在线即时战略游戏。首先它是单独的一个游戏,不像上面有多种不同游戏可以选择。再来就是更偏向于多人在线的网游。并且只接受 JavaScript 语言,如果要使用其他语言来玩这个游戏,需要做比较复杂的编译处理,对于其他语言的学习者来说,这点比较劝退新手。

上图就是 Screeps 的游戏大世界。玩家的主要任务就是控制游戏中的机器人,在地图上和别人的机器人做竞争,争取多的资源。

他和 AI 创想家一样,有对游戏做用户友好的 API 接口封装,用户在编程的时候,直接可以使用上层的 API 来实现更多想做的功能、策略。

在对比一下学习材料,虽然官方给出了一个官方的英文教学文档,里面有一些基础的操作教学,感觉上教学的颗粒度上,没有AI 创想家,那么细。

CodeCombat

CodeCombat 和 AI 创想家、codingame 有点像,他也支持多种不同游戏,新鲜感还是挺强的。你可以在他上面使用 Python, Javascript, lua 来运行和学习,他用地图闯关的方式做了非常详细的引导指引。

每一关中,你都需要编写自己的人物闯关代码来通关。他和 AI 创想家、Screeps 一样,提供了一套官方的 API,所以也不用从底层代码写起,如果懂编程的人,会体验到比较强的面向对象编程模式。

动图封面
动图封面

和 AI 创想家和 codingame 一样,他们也提供了真人排行竞技模式,screeps 虽然是多人竞争,但是 screeps 似乎不是以排行榜的形式进行的。

在学习上手方面,我感觉跟着他们的关卡一步步来,就已经能形成一套学习过程了,他们设计的关卡具备了学习材料的作用。

CodeMonkey

这是一款目标年龄段很广的产品,因为他们不光有 Python 学习,还有积木编程。积木编程类似的产品还有(scratch、编程猫,腾讯扣叮等)。因为我们讨论的是以后会用到的像 Python 和 JS 这种计算机语言,所以积木编程那块的内容,我在这就不详细说明了。下面我来详细对比一下 CodeMonkey 中的 Python 语言学习。

首先,他支持的计算机语言学习,只有 Python。关于 Python 的学习,它有一个游戏,还有一个是用 python 做一个对话机器人(当然可以用代码规则来做出一个有趣的 AI)。

在游戏学习中,code monkey 也是一种闯关模式,跟着关卡的指引,你也能一步步按照他的 API 将角色移动、变化起来,完成不同的任务。

其实,对于 python 学习的人,有一点不是很好,就是一上来,就已经是要使用 python 里面类的属性这种概念了,它默认你先装作懂了,直接开始就按这个模式玩。有的人可能会觉得有些跳跃感吧,但是对于一般人而言,假装懂,能开始玩游戏,也是不错的体验。

使用 python 来编对话机器人是挺有趣的体验,我觉得可以当成一个实战小项目来看待。

总结

这次介绍的几款游戏化学编程的产品,都有免费部分,我个人体验下来都还不错,但是如前面表格中的信息,如果你知道你想学那种语言,想要用闯关的方式学习还是竞技的方式学习,喜欢直接跟着关卡的教学模式学习还是阅读文档学习。了解了自身需求后,你就能挑出来符合你自己背景的游戏化学习产品了。

我举几个例子:

例子 1: 我不太会英文,想学 Python,那就可以选 AI 创想家 或 CodeCombat。

例子 2:我想刷算法题,但是不喜欢 leetcode 那种干巴巴的模式,那么可以选 codingame

例子 3:我想学 JS,而且想要和真实的人对战,体验游戏挂机自动打的感觉,就选 screeps

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用对比
  • AI 创想家
  • Codingame
  • screeps
  • CodeCombat
  • CodeMonkey
  • 总结
相关产品与服务
对话机器人
对话机器人(Conversation Robot,ICR),是基于人工智能技术,面向企业场景的 AI 服务,可应用于智能客服、服务咨询、业务办理等场景。本产品旨在帮助企业快速构建,满足自身业务诉求的对话机器人,从而减少企业人力成本或解决服务不及时问题。用户可通过对话机器人用户端引擎,实现高准确率的对话服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档