自己编程游戏是孩子摆脱游戏瘾的最酷方法(2)
到家,休息好了,我问他:“你想做一个什么游戏呢?”
他认真地思考了一下,回答我说:“我们先做一个简单点的游戏”。非常的睿智啊,才9岁的孩子,很清楚复杂的事情要从简单的部分开始。
其实我心里早想好了思路,先给他讲解最简单的程序的逻辑,让他有一点成就感,这就是今天的目标。
所以,我告诉他我们今天先做一个只有文字的游戏,叫做钓鱼。
让我吃惊的是,他立刻开始规划:要有很多种鱼,钓到鱼可以卖钱,然后可以用钱买道具……
好吧,我理解为他玩过类似的游戏,有一些概念了。
然后,我引导他说:那要不要设计一部分机会钓不到鱼呢?比如钓起来一个炸弹?
然后我就给他讲了一个解锁炸弹的数字迷你游戏,没错,就是经典的猜数字游戏:电脑出一个随机数字,玩家来猜,猜对了就炸弹解除,猜错了就提示数字太大还是太小。如果超过3次没猜中,炸弹就爆炸了。
我想可以让他在玩游戏的过程中,做几个简单的数学题。并且可以理解编程的最基本的元素——分支和循环,我给他画了个图解释,告诉他绿色的小箭头就是分支,虚线的大箭头就是循环。程序从粉色框开始,一个框一个框地执行,检测到玩家输入的内容就去比对密码。
如果密码正确就解除,如果密码不正确就继续判断是否超过三次,如果超过三次就爆炸,如果低于三次就循环提示输入密码。
这个过程中,我给他讲解了Python的基本的赋值、分支和循环,没有讲得很细,主要以实现功能和灌输概念为主。
接下来,在这个游戏基础上扩展,就变得较为容易了。
我再给外甥讲解了一下关于对象的概念,并引入了类来作为游戏中各个元素的核心,当然,都是以实用性为主,并没有深入讲解。毕竟现在主要培养的是他的兴趣和对程序的逻辑的理解。我给他画了下面这个图,用来讲解整个游戏的逻辑:
游戏开始后,先要输入玩家的名字,然后根据名字去查找游戏进度,如果有游戏进度的,就读取进度,否则就全新开始游戏。
接下来就是一个游戏菜单开始的循环体,根据选择执行不同的指令。
如果选择钓鱼,就开始展示随机的钓鱼结果,如果结果是钓到炸弹,那就启动之前的那个猜数字的炸弹小游戏。
成功地引起了外甥对编程的兴趣,万里长征的第一步已经完成了。我和他一下午就耗在这个小游戏里,看着小家伙在纸上快乐地写写画画,规划着游戏的内容,设计鱼的种类,金币数量等等。
然后和我一起编写代码,调试代码,听我讲解代码的原理和运行流程,无比专注,感觉比他打游戏还要快乐。
我当然也很快乐,享受和孩子一起的悠闲的时光的同时,让他接触了编程,学了一些以后会对他人生起到正面积极作用的技能。
因为整个游戏比较小,而且并没有图形部分,所以几个小时已经可以看到成效了(PS:这也是最重要的,最开始学编程,一定要让他快速地获得成就感,不然时间太长就容易有挫折感,造成兴趣流失),电脑上的运行效果如下:
当然,为了让他可以跟小伙伴一起玩(炫耀),我用了一个叫作QPython的手机App来运行刚才编写的代码:
因为我用的是Python 3,所以选择了QPython3的版本来在手机上运行,
最后,奉上完整代码,请在Python3下运行: