为什么CodeCombat里有那么多看起来差不多的关卡

为什么CodeCombat里有那么多看起来差不多的关卡

 

先猜一下,我们后台收到最多的吐槽是什么?

不是"太难了",也不是"看不懂"。

而是——

"这关和上一关好像差不多啊?"

"怎么又是打怪捡宝石,感觉在做重复的事。"

"我都会了,为什么还要再做一遍类似的?"

说实话,每次看到这类留言,我们内心的反应是:

太好了,你上钩了。

不是开玩笑。今天认真聊聊——为什么我们故意设计了这么多"看起来差不多"的关卡,以及这背后的学习原理是什么。

看完你可能会改变对"重复"这件事的看法。


先问你一个问题

你还记得你学骑自行车的过程吗?

不是有人给你讲了一遍"脚踩踏板、手握车把、身体保持平衡"的原理,你就会骑了吧?

你是摔了好几次,歪歪扭扭骑了好多圈,然后有一天突然发现——诶?我好像不用想就能骑了。

那个"不用想就能骑"的状态,在学习科学里有个专门的名字,叫自动化(Automaticity)

意思是:一个技能被你练到不需要占用脑力就能执行的程度。

骑自行车是这样,打字是这样,开车是这样,学编程也是这样。

你在CodeCombat里反复做"看起来差不多"的关卡,练的就是这个东西。


"懂了"和"会了"之间隔着什么?

隔着一百次重复

这不是夸张。学习科学里有一个研究结论被反复验证过——

人在第一次接触一个新概念时,大脑的理解是非常表面的。 你觉得"哦我懂了",但实际上只是"看懂了别人的演示"。真让你自己从零写一遍,大概率卡住。

这个现象太普遍了,心理学家专门给它起了个名字:流畅性错觉(Fluency Illusion)

什么意思呢?你看别人做一件事很流畅,或者看教程讲解得很清晰,你的大脑就会产生一种"我也会了"的错觉。但你其实只是"看会了",不是"学会了"。

看网课为什么记不住?就是这个原因。

你看老师写代码写得行云流水,看的时候觉得全懂了。关掉视频自己写,一个字都敲不出来。不是你笨,是你的大脑被"流畅性错觉"骗了。

那怎么打破这个错觉?

只有一个办法:自己动手做,而且做不止一次。


为什么不是做一次就够了?

因为大脑学东西的过程,跟你想的不一样。

你可能以为学习是这样的:学一次→会了→永远记住。

但实际上大脑的学习过程是这样的:

第一次接触: "这是个什么东西?"——大脑建立了一个很脆弱的连接

第二次遇到: "好像见过?"——连接被加固了一点点

第三次、第四次: "哦我知道这个"——连接开始变得稳固

第五次、第六次: 不用想就能用——恭喜,你真的会了

这个过程在神经科学里叫间隔重复(Spaced Repetition)——同一个知识点在不同时间、不同场景下反复出现,大脑才会认为"这东西很重要,我得记住"。

如果一个概念你只遇到一次,大脑会觉得"可能不重要",很快就扔掉了。

CodeCombat里那些"看起来差不多"的关卡,本质上就是在帮你做间隔重复。

同一个知识点——比如循环——你不是只在一关里见到它。你在第5关用它来重复移动,在第8关用它来反复攻击,在第12关用它来持续收集资源,在第15关用它配合新学的判断条件一起使用。

每次场景都不一样,但练的是同一块肌肉。


但重复不等于无聊的复制粘贴

这里要说清楚一件事:我们设计的不是"相同的关卡重复做",而是"相同的概念在不同情境下使用"。

举个例子。

假如你刚学会了"循环"这个概念。

下一关可能是——用循环让英雄沿着走廊一直走到底。

再下一关可能是——用循环让英雄不停攻击一个血很厚的敌人,直到打倒为止。

再下一关可能是——用循环让英雄持续捡地上的宝石,同时还得躲开巡逻的守卫。

你觉得"又是循环",但每一关要你解决的问题都不一样。

第一关你只是在练"怎么写循环"。第二关你开始思考"循环里可以放什么指令"。第三关你在琢磨"循环过程中怎么同时处理两件事"。

同一个工具,放在不同场景里用——这才是真正的"学会"。

学习科学管这个叫变式练习(Varied Practice)。研究表明,比起在同一个场景下重复十次,在十个不同场景下各练一次,记得更牢,也更灵活。

因为你的大脑学到的不是"这一关怎么过",而是"这个工具在什么时候该用"。


还有一个你可能不知道的设计

我们的关卡顺序里藏着一个节奏——

新概念→练习→练习→小变化→练习→新概念→把前面的和新的混在一起练。

这个节奏不是随便排的,对应的是学习科学里的"脚手架理论(Scaffolding)"。

什么意思呢?

你去工地看过建楼吗?楼房在建的时候外面会搭一层脚手架。工人站在脚手架上砌墙、刷漆、装窗户。等楼建好了,脚手架就拆掉了。

学习也是一样。刚接触新概念时,你需要"脚手架"——简单的场景、充足的提示、容许犯错的空间。

然后脚手架慢慢撤掉——场景变复杂了、提示变少了、你得自己想办法了。

那些"看起来差不多但又有点不一样"的关卡,就是脚手架在一层一层地撤。

你可能感觉不到,但你在前几关和后几关做"循环"时的状态已经完全不同了——前几关你还需要想"循环怎么写来着",后几关你已经在想"这个循环里放什么逻辑能让英雄活下来"了。

注意力从"语法"转移到了"策略"。这就是脚手架在起作用的证据。


说到底,"重复"的反面不是"新鲜"

很多人觉得好的学习体验应该是"每一步都是新东西、永远不会觉得重复"。

但说实话,那种学习方式只能带来一种结果——每一步都半懂不懂,到最后什么都没记住。

你回想一下自己有没有过这种经历:学一门网课,每节课都讲新内容,听的时候觉得全懂了。课程结束回头一看,前面讲的全忘了。

因为每个概念你只接触了一次,大脑根本没有时间把它固化下来,就被下一个新概念冲走了。

所以真正有效的学习节奏不是"一路冲刺",而是——

前进一步,巩固一下。再前进一步,再巩固一下。偶尔回头把前面的东西跟新的混在一起练练。

不刺激,不酷炫,甚至有点无聊。

但它有效。特别有效。


下次你再觉得"这关是不是重复了"

试试换个角度想这件事——

这一关跟上一关看起来像,但你通关的速度是不是比上一关快了?

如果快了,说明你正在从"看懂"走向"熟练"。

上一关你可能还需要停下来想"循环怎么写来着"。这一关你已经不假思索地写出来了,脑子里想的是"这个循环里要加什么条件"。

你的注意力在升级,你的脑力被释放出来去思考更高层的问题了。

这就是重复练习的终极目标:把基础操作变成本能,好让你的大脑去处理真正困难的事。

就像开车——新手要同时想方向盘、油门、刹车、后视镜、转向灯,手忙脚乱。老司机这些全自动化了,脑子可以空出来想路线、判断路况、跟人聊天。

不是老司机更聪明,是基础操作不再占用他们的脑力了。

编程也完全一样。


最后说一句

我知道"重复"这个词听起来不性感。

谁都喜欢"一学就会""过目不忘""三天精通"。但说真的,这些东西只存在于营销文案里,不存在于真实的学习过程中。

真正的"学会",一定包含重复。区别只是,聪明的重复不会让你觉得痛苦。

CodeCombat的关卡设计花了大量时间在一件事上——让每次重复都发生在一个新场景里,让你觉得自己在解决新问题,但其实在巩固旧知识。

所以下次通关的时候如果又闪过那个念头——"这关我是不是做过了?"

笑一下就好。然后你会发现,这次你通关的速度比上次快多了。

那就对了。


卡住的时候别硬扛,点一下关卡旁边的"问问AI"按钮,让它帮你想想下一步往哪走。

来codecombat.cn,玩游戏,学编程。

 


← 返回新闻列表 CodeCombat 新闻中心
← 返回 CodeCombat探索地图