现在的小朋友生在智能手机的时代,个个都会玩手机。而小朋友玩手机多半是玩游戏。
一个常见的现象是父母们一方面不得不把手机或 iPad 给小朋友玩,一方面又担心小朋友沉迷游戏。
我自然也有此担忧。在我儿子3岁以后,我开始让他接触手机、iPad。在四岁以后,会经常给他安排使用手机或 iPad 的时间。
那么到底给他玩什么呢?既要能满足他娱乐的需要,又能规避到沉迷游戏的风险呢?
我本人作为一个程序员,思前想后,有两点感想:
突然,我灵光一闪——找点编程的游戏给他玩,不是挺好的吗?一来益智,二来说不定对他未来有点实际价值,三来我自己还能亲自指导。
于是我上网搜了一堆,然后我提前玩了一圈,筛选出以下5个编程游戏,在我儿子4、5岁这两年有规律地安排给他玩了。他非常开心!也都非常喜欢!于是我写本文推荐给大家!
正文开始之前,请注意以下几点:
闲话少说,正文开始!
1 Code Karts
这款游戏的内容非常简单,其目的是根据每一关的地图规划好小车行进的路线,然后将这个规划写成程序。比如向上、向下、向左、向右等,也可以写很简单的循环。
对成人来说,这款游戏是非常弱智的!但对小朋友不然。
很多朋友觉得编程上来就要学条件判断、循环、函数、变量等等。对大孩子可以这样。但对小朋友来说,第一件要学的事情应该是这个——机器按照预先写好的程序,一步一步执行。
这款游戏能非常好地达到这个目标!学习曲线非常平缓!通过一关又一关的反复练习,让小朋友很容易领会到这一点。
我儿子玩的时候是4岁,几乎毫无困难,教了一两关,后面的基本自己全部搞定。所以我觉得3岁的小朋友也可以尝试一下。
通过这款游戏,要学会两点:
2 Lightbot Hour
这款游戏的目的是写程序操纵机器人在每一关的地图上行走,然后将蓝色方块点亮。
这款游戏比上一款稍微难点。
首先,地图是立体的。其次,需要小朋友考虑左转右转,而非上一款的向上向下。
在编程技术方面,除了基本的逐行执行外,还涉及到函数和循环。需要小朋友将重复的步骤提取出来作为一个函数,再反复调用此函数。面对像如下这种复杂点的地图,要先规划好一个可以产生重复步骤的路线,对小朋友来说是有难度的,可能需要父母帮助规划路线,再由小朋友编程实现。
我儿子玩的时候,除了少数两三关需要我帮助,其他都能自己搞定,也能自己找到重复步骤以抽象成函数。
这款游戏说是会用到循环,但其实是用的尾递归,即在一个函数的最后一行调用此函数本身。如下图中子函数 P1 对自己的调用。
这是我不喜欢这款游戏的地方。因为对我们程序员来说,在实际工作中通常是禁止使用尾递归的。
最后,这款游戏的出品方开发了多款类似的游戏,这款是免费的,还有付费的。我猜付费的应该是关卡更多或更复杂,如果大家喜欢这款游戏,可以试试他们公司的付费游戏。
下图为我儿子在玩这款游戏:
3 Kids'n'Code
这款游戏也是操作机器人,在各种地形条件下完成抓虫子、推箱子等任务。
其有别于前者的最大特点是可以写出真正的循环(但是不能写出双层循环)!如下图所示的 Repeat*4 和 Repeat*3:
写循环需要主要2点:
我儿子经过几关的训练,完全能够自己设计并写出一个循环。我感觉对他的脑力是很强的锻炼!
这款游戏最大的缺点是 bug 太多!常常会运行异常,甚至闪退。而且如果程序写错了,想要调整,操作会非常不方便!不知道最近的新版本这些问题改善了没有?
4 SpriteBox
这款游戏刚开始的时候不太像编程游戏,更像超级玛丽,需要操作一个小人蹦蹦跳跳吃星星。
当小人顶了一个黄色方块后,会出现编程区域,要求玩家在特定的地形下,达成某种目标。
这款游戏在编程上最大的特点是可以写出嵌套循环。比如下图所示的两层循环,内层循环2次,外层循环4次。
这对小朋友来说是很强的锻炼。父母陪同的时候,要教小朋友在编程前仔细观察,计划出适合两层循环的方案,然后再开始动手。
后面有的关卡很像我大一时C语言课的练习题。对小朋友来说,如果能搞定,会有很大的成就感!我儿子就搞定了其中大部分。
如果要给这款游戏找一个缺点的话,我认为是其不够严谨。某些时候,从程序员的角度来看一段程序有小瑕疵,应该算是bug,但是因为游戏的一些设置,其依然能够运行出期望的结果。
5 Human Resource Machine
这款游戏几乎可以被称之为包装成游戏的严肃编程课!
其整个游戏场景是模拟的计算机内部结构(当然是简化版本)。目标是按照一定的要求,编写程序,将左边的数字和字母,通过一定的运算方式进行运算后,将结果放到右边。
比如下面这道题是把左边的所有0放入右边:
比如下面这道题是把左边所有的数字的绝对值放到右边:
这款游戏可以写出真正的循环和条件判断,也会涉及到变量的使用。比如下图中右侧各种箭头就是代表了程序的走向,看着晕不?
这款游戏使用的编程语言是汇编语言风格。如果你不是计算机专业人士,那我解释一下——编程语言有很多种风格,越上层的语言抽象得越多,越接近人的思维,而越底层的语言抽象得越少,越接近机器的工作方式。汇编语言是最底层的语言,其并不见得比其他语言难,但要求人的思维方式要有较大转变。
所以,这款游戏肯定得父母陪着玩,对父母的要求很高!父母不一定能玩下来。我本人作为一个程序员,汇编语言倒难不住我,但很惭愧地说,虽然我玩通关了,但我还差三颗星星才能拿到满分。
这款游戏的学习曲线很陡峭,前面几乎每一关都会引入新元素,根本不给你消化的机会。对小朋友来说,几乎不可能玩一关就学会一个新东西。所以,我会让我儿子玩一关,休息几天,再重玩这一关。直到我感觉他明白新元素怎么使用了,再进入下一关。
最后,这款游戏对数学的要求很高,到后面需要算加减乘除、求最大公约数、算质数之类的。我儿子只玩到16关(大约40%),我就跟他商量不再玩下去了,而是等他数学知识足够了,再继续玩。
总之,这是一款对程序员来说也不容易的编程游戏,小朋友要完全独立玩下来,我感觉怎么也得10岁以上。所以,不着急,慢慢玩吧!
6 总结
编程游戏我儿子玩下来,我感觉有两个很大的优点:
但是,不管怎么说,也不宜长时间无节制地玩游戏。我以前写过美国儿科学会对于儿童使用电子产品的建议(文末附有链接)。
我建议大家一定在大的控制原则之下,再安排孩子的游戏时间。
最后,给大家放一个GIF。这是去年年底微信小游戏跳一跳风靡的时候,我想给儿子展示一下这种纯打发时间的游戏没啥意思,咱们可以追求更高层次的娱乐。于是就写了段程序,用程序来自动玩跳一跳,这样就不需要人来点击了。用程序玩游戏根本不会失误,而且几乎每次都能跳中中心。
我给我儿子看了这神奇的一幕后,他说——那我要赶紧学编程序了。
哈哈哈哈哈~
=====================
未经授权,禁止转载!
欢迎关注*奶爸de自我修养
*DaddyGrowUp
不爱鸡汤,只有干货!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved