掉进会说话的代码森林
米米蹲在旧货市场的塑料布上,指尖沾了点蒙在旧玩具上的灰,眼睛却亮得像揣了颗小星星。十月的梧桐叶飘下来,落在她扎着草莓发夹的头发上,她今天穿了带米老鼠图案的帆布鞋,口袋里塞着半块奶奶给的橘子糖,糖纸皱巴巴的,甜香时不时飘出来一点。她来旧货市场本来是想找上周通关了三遍的《密室逃脱大挑战》的续集卡带,转了三圈都没找着,反而在堆着旧漫画和铜铃铛的角落里,瞅见了个奶白色的游戏机。
那游戏机外壳上有几道浅浅的星星划痕,像是以前的小主人拿它当画板画过画,按键是彩虹色的,红的、橙的、黄的、绿的排得整整齐齐,插电的地方被个小太阳贴纸遮住了,贴纸上的太阳画得歪歪扭扭,像小朋友的手笔。摆摊的叔叔戴副老花镜,手上有几块洗不掉的墨水印,正低头整理一摞旧童话书,米米戳了戳他的胳膊,小声问:“叔叔,这个游戏机多少钱呀?”
叔叔抬起头,顺着她的手指看过去,笑了笑说:“这个啊,是我从一个老爷爷那里收的,老爷爷以前是做编程的,说这个游戏机里藏着个会说话的森林,只有爱动脑筋的小朋友才能进去。五块钱,你要的话就拿走吧,反正放在我这里也没人买。”
米米摸了摸口袋里排得整整齐齐的五枚一块硬币,是帮奶奶摘了半个月阳台上的小番茄换的,她毫不犹豫地掏出来递给叔叔,小心翼翼地把游戏机抱在怀里,生怕摔坏了那几道星星划痕。
回家的路上她都没舍得松手,到家第一件事就是找插线板,把游戏机的插头插了进去。刚插上的一瞬间,游戏机突然亮了,不是平时游戏机刺眼的红光,是柔和的蓝光,像把一小片夏夜的星空攥在了手里,连她书桌上的小夜灯都显得暗了下去。米米还没反应过来,蓝光就一下子漫了上来,把她整个裹住了,她感觉自己在往下飘,又像在坐滑梯,风从耳边吹过,带着青草和野花的香味,还有一点点类似薄荷糖的清凉味道,然后“啪嗒”一声,她掉在了软乎乎的东西上,像是掉进了刚晒了三天的棉花堆里。
她爬起来拍了拍身上的灰,发现自己在一片从来没见过的森林里。树干的颜色是薄荷绿的,摸上去凉丝丝的,还带着点弹性,像果冻的外壳;树皮上有发光的纹路,像流动的代码,米米凑近看,那些纹路还在慢慢动,像一群 tiny 的萤火虫在爬。树叶是半透明的,阳光一照,就投下彩虹色的影子,风一吹,树叶沙沙响,居然真的在说话:“今天的风好舒服呀”“阿布怎么还不带新的冒险者来呀”“刚才掉下来的小朋友身上有橘子糖的味道,好甜呀”。
米米惊得张大了嘴,捏了下自己的脸,疼得她嘶了一声,不是梦。她口袋里剩下的半块橘子糖还在,糖纸还是皱巴巴的,她剥了一瓣塞进嘴里,甜丝丝的橘子味在嘴里散开,她才慢慢镇定下来,顺着亮蓝色的小溪往前走。小溪的水像流动的碎星星,银亮亮的水面上飘着一些小小的、像拼音字母一样的光点,有银色的小鱼游来游去,尾巴一摆就带起一串小光点,撞在石头上就散成更小的碎光,好看得不得了。
“喂,你站在这里做什么呀?是新来的冒险者吗?”
一个细细的声音从背后传来,米米吓了一跳,回头就看见一只小狐狸站在大树后面。它火红色的毛在阳光下像烧起来的小云朵,尾巴尖有一撮醒目的白毛,脖子上挂着个用细藤条串起来的橡果哨子,耳朵上别着一片四叶草,眼睛是琥珀色的,像两颗浸在蜂蜜里的小石头,正晃着尾巴歪着头看她,尾巴扫得地上的小野花晃来晃去。
米米攥紧了口袋里的橘子糖,有点紧张:“我……我不知道怎么到这里来的,我在玩那个游戏机,突然就被吸进来了。”
小狐狸噗嗤笑了,露出尖尖的小虎牙,尾巴晃得更欢了:“我就知道你是新来的,我叫阿布,是魔法编程岛的引导员,专门带你们这些外面来的小朋友闯关的。最近传送门有点不稳定,经常把爱动脑筋的小朋友吸进来,上周还有个爱玩拼图的小男孩呢,现在已经闯到第三关了。”
阿布说着,跳上一块大石头,示意米米跟上来,一边走一边给她讲魔法编程岛的故事。米米跟着它踩在软软的苔藓上,痒丝丝的,路过的松鼠尾巴上也有发光的纹路,抱着个橡果跟阿布打招呼:“阿布阿布,今天的新冒险者是个戴草莓发夹的小丫头呀?”说完就蹦跶着上了树,不见了。
“以前我们岛可热闹啦,”阿布晃了晃尾巴,声音里有点可惜,“所有的东西都会说话,大树会出逻辑谜题,小溪会讲以前的故事,能量核心亮得像个小太阳,晚上我们在它旁边烤棉花糖,整个岛都暖乎乎的。后来不知道怎么了,能量核心坏了,能量一点点消失,好多东西都不会说话了,森林的光也暗了一半,晚上黑乎乎的,只能摸黑找橡果吃。”
它转过头,琥珀色的眼睛盯着米米:“只有闯过15个关卡,拿到15个能量碎片,修好能量核心,岛才能恢复原来的样子,闯关的人也能回到自己家。不过你放心,不用写那些弯弯曲扭的代码,只要会用编程思维就行。”
“编程思维?”米米歪了歪头,她以前听班里的男生说过编程,说要写好多好多的代码,她可不会写那些。
“对呀,就是解决问题的魔法呀!”阿布跳下石头,凑到米米面前,鼻尖动了动,闻到她身上的橘子糖味,眼睛弯成了月牙,“你看你刚才找我问路的时候,是不是先沿着小溪走,看到大石头就跳上来,没有乱跑?这就是编程思维里的‘顺序’呀,就是按照一定的步骤来,不会乱套。还有你玩解谜游戏的时候,要找钥匙开门,是不是先想钥匙可能在抽屉里,再在床底下找,找不到再换个地方找?这就是‘分解问题’,把大问题拆成一个个小问题,一个个解决,是不是特别简单?”
米米的眼睛一下子亮了。她可是全班闻名的解谜游戏小达人,上周找奶奶藏的橘子糖,她先在客厅沙发缝里找,再在厨房柜子里找,最后在阳台的花盆后面找到,用的就是阿布说的“分解问题”呀!原来这就是编程思维,不是什么难懂的代码,就是她平时玩的时候就会用的方法呀!
“那我们现在就去第一个关卡吧,”阿布甩了甩尾巴,往森林深处走,“路上我还会告诉你,编程思维就藏在我们身边的所有小事里,你看那棵大树的树干上,是不是有小熊刻的小图案呀?”
米米顺着它指的方向看,果然看见一棵大槐树的树干上,从下往上刻着四个歪歪扭扭的小图案,第一个是红苹果,第二个是黄梨,第三个是粉桃子,第四个是弯香蕉。
“你看,小熊刻的顺序是不是跟他吃水果的顺序一样呀?”阿布歪着头说,“他最喜欢吃苹果,所以第一个刻苹果,然后是梨,再是桃子,最后是香蕉,要是顺序反了,先拿香蕉再拿苹果,香蕉不就被压坏啦?这就是‘顺序’的逻辑,也是编程思维里最重要的一种哦。”
米米点了点头,她吃水果的时候也是先拿硬的苹果,再拿软的香蕉,不然香蕉就会被压得黑乎乎的,不好吃。她蹲下来摸了摸树干上的刻痕,木头被刻的地方有点凸起来,她还在心里默默记了一遍:苹果→梨→桃子→香蕉。
她们沿着小溪继续往前走,溪水边的石头从岸边到河中心,越来越大,岸边的石头只有小石子那么大,越往中间走,石头越像小饭碗,最大的那块比米米的脚还大, surface 滑溜溜的,还长着点青苔。
“你看这些石头,是不是按从小到大排的呀?”阿布用爪子拍了拍最小的那块石头,“小青蛙过河的时候,就会踩最小的石头走,因为大的石头太滑,容易摔跤,要是乱踩,踩到滑的大石头,不就掉进水里啦?这就是‘大小比较’的逻辑,也是编程思维的一种哦。”
米米蹲下来摸了摸那些石头,确实,从岸边到河中心,石头的大小是慢慢变大的,像有人特意排过一样。她还看见一只小青蛙正踩着石头过河,跳到最小的那块石头上,蹦到第二块,再蹦到第三块,稳稳当当地到了对岸,连水花都没溅起来多少。
穿过小溪,她们走到了一片枫树林里,枫树的叶子红得、橙得、黄得、绿得,排得整整齐齐,风一吹,就簌簌往下掉,像下了一场彩色的雨。阿布甩了甩尾巴,扫掉一片飘到它鼻子上的红枫叶:“你看这些枫叶,是不是按颜色从深到浅排的呀?这是小风精灵怕下雨的时候叶子乱掉,堵住小溪,所以特意按颜色分类摆好的,一样的颜色放在一起,就不会乱糟糟的啦。这就是‘分类’的逻辑,也是编程思维的一种哦。”
米米伸手接了一片红色的枫叶,叶脉是金色的,在手里亮闪闪的,她以前整理自己的贴纸的时候,也会把卡通贴纸放在一个盒子,星星贴纸放在另一个盒子,原来这就是分类呀,她以前还以为只是自己爱干净呢。
她跟着阿布在枫树林里走,又发现了几个小线索:路边的小蘑菇是按从矮到高的顺序排的,树上的小松果是按从尖到圆的顺序挂的,连蚂蚁搬食物的路线都是直的,没有乱跑。阿布每看到一个线索,都会笑着跟米米说这是哪种编程思维,米米越听越觉得有意思,原来编程思维不是写在书上的知识,是藏在她平时玩的游戏、吃的水果、走的路里的小秘密呀。
走着走着,她们就走出了枫树林,前面出现了一片空地,空地中间立着一扇橡木做的木门,门板是深棕色的,上面还长着几个小蘑菇,门板上刻着三个符号:第一个是红苹果,第二个是黄梨,第三个是粉桃子,符号下面有三个空着的木格子,像是要放什么东西。
“这就是第一个关卡啦,”阿布跳到木门上,晃了晃尾巴,“只要把三个符号对应的水果名字,按顺序填在格子里,门就会打开哦。你要是准备好了,就可以试试啦。”
米米看着门板上的三个符号,又想起刚才大槐树上小熊刻的刻痕,第一个是苹果,第二个是梨,第三个是桃子,顺序刚好对上呀!她刚要伸手去按第一个格子,突然听到门后面传来细细的笑声,像小虫子叫一样,又像小朋友憋着笑的声音。阿布的表情一下子紧张起来,尾巴上的白毛都竖了起来,从木门上跳下来,挡在米米前面:“小心,里面有调皮的小精灵在捣乱,它们最怕爱动脑筋的小朋友,会故意出难题挡路,你准备好啦吗?”
米米攥了攥手里攥了半天的枫叶,又摸了摸口袋里剩下的半块橘子糖,点了点头。她可是解谜游戏小达人,闯过了三遍《密室逃脱大挑战》,连藏在书架最里面的隐藏关卡都找出来了,才不怕这些小精灵呢。
风从森林里吹过来,带着枫叶的香味和一点点蓝莓的甜味,米米抬起头,看见木门上的三个符号在发光,像在等着她写下答案。她突然想起刚才小溪里的小青蛙,踩着小石头过河,一步一步,顺序对了就不会掉进水里,就像现在,只要按顺序把水果名字填进去,就一定能开门。
她吸了口气,刚要伸手去碰第一个木格子,突然看见木门的最底下,有个小小的、几乎看不见的刻痕,是个小小的问号,旁边还有一行更小的、像蚂蚁一样的字:“顺序错了的话,会有小虫子飞出来哦~”
米米眯起眼睛看了看,又抬头看了看门板上的三个符号:苹果、梨、桃子。她突然笑了,原来小精灵早就把答案藏在刻痕里了,只要按顺序填,就不会有小虫子飞出来。
---
📖 纸书格式提示
【插图1:旧货市场的米米蹲在玩具堆里,眼睛亮亮地盯着奶白色的复古游戏机,老板在对面笑着看她】 【插图2:魔法编程岛的森林里,米米站在亮蓝色的小溪边,小狐狸阿布站在大石头上晃尾巴,背景是发光的薄荷绿树木和半透明的树叶】 【互动小游戏区】(留白供小朋友画线索) > 小朋友,快跟着米米和阿布一起找找,森林里藏着哪些逻辑线索呀?可以在上方的空白处画下来哦: > 1. 大槐树树干上的小熊刻痕是按什么顺序排的? > 2. 小溪里的石头
米米蹲在旧货市场的塑料布上,指尖沾了点蒙在旧玩具上的灰,眼睛却亮得像揣了颗小星星。十月的梧桐叶飘下来,落在她扎着草莓发夹的头发上,她今天穿了带米老鼠图案的帆布鞋,口袋里塞着半块奶奶给的橘子糖,糖纸皱巴巴的,甜香时不时飘出来一点。她来旧货市场本来是想找上周通关了三遍的《密室逃脱大挑战》的续集卡带,转了三圈都没找着,反而在堆着旧漫画和铜铃铛的角落里,瞅见了个奶白色的游戏机。
那游戏机外壳上有几道浅浅的星星划痕,像是以前的小主人拿它当画板画过画,按键是彩虹色的,红的、橙的、黄的、绿的排得整整齐齐,插电的地方被个小太阳贴纸遮住了,贴纸上的太阳画得歪歪扭扭,像小朋友的手笔。摆摊的叔叔戴副老花镜,手上有几块洗不掉的墨水印,正低头整理一摞旧童话书,米米戳了戳他的胳膊,小声问:“叔叔,这个游戏机多少钱呀?”
叔叔抬起头,顺着她的手指看过去,笑了笑说:“这个啊,是我从一个老爷爷那里收的,老爷爷以前是做编程的,说这个游戏机里藏着个会说话的森林,只有爱动脑筋的小朋友才能进去。五块钱,你要的话就拿走吧,反正放在我这里也没人买。”
米米摸了摸口袋里排得整整齐齐的五枚一块硬币,是帮奶奶摘了半个月阳台上的小番茄换的,她毫不犹豫地掏出来递给叔叔,小心翼翼地把游戏机抱在怀里,生怕摔坏了那几道星星划痕。
回家的路上她都没舍得松手,到家第一件事就是找插线板,把游戏机的插头插了进去。刚插上的一瞬间,游戏机突然亮了,不是平时游戏机刺眼的红光,是柔和的蓝光,像把一小片夏夜的星空攥在了手里,连她书桌上的小夜灯都显得暗了下去。米米还没反应过来,蓝光就一下子漫了上来,把她整个裹住了,她感觉自己在往下飘,又像在坐滑梯,风从耳边吹过,带着青草和野花的香味,还有一点点类似薄荷糖的清凉味道,然后“啪嗒”一声,她掉在了软乎乎的东西上,像是掉进了刚晒了三天的棉花堆里。
她爬起来拍了拍身上的灰,发现自己在一片从来没见过的森林里。树干的颜色是薄荷绿的,摸上去凉丝丝的,还带着点弹性,像果冻的外壳;树皮上有发光的纹路,像流动的代码,米米凑近看,那些纹路还在慢慢动,像一群 tiny 的萤火虫在爬。树叶是半透明的,阳光一照,就投下彩虹色的影子,风一吹,树叶沙沙响,居然真的在说话:“今天的风好舒服呀”“阿布怎么还不带新的冒险者来呀”“刚才掉下来的小朋友身上有橘子糖的味道,好甜呀”。
米米惊得张大了嘴,捏了下自己的脸,疼得她嘶了一声,不是梦。她口袋里剩下的半块橘子糖还在,糖纸还是皱巴巴的,她剥了一瓣塞进嘴里,甜丝丝的橘子味在嘴里散开,她才慢慢镇定下来,顺着亮蓝色的小溪往前走。小溪的水像流动的碎星星,银亮亮的水面上飘着一些小小的、像拼音字母一样的光点,有银色的小鱼游来游去,尾巴一摆就带起一串小光点,撞在石头上就散成更小的碎光,好看得不得了。她伸手去捞那些光点,光点就从指缝里溜走了,痒丝丝的,像小蚂蚁在手上爬,逗得她咯咯笑,刚才的害怕早就飞到了九霄云外。
“喂,你站在这里做什么呀?是新来的冒险者吗?”
一个细细的声音从背后传来,米米吓了一跳,回头就看见一只小狐狸站在大树后面。它火红色的毛在阳光下像烧起来的小云朵,尾巴尖有一撮醒目的白毛,脖子上挂着个用细藤条串起来的橡果哨子,耳朵上别着一片四叶草,眼睛是琥珀色的,像两颗浸在蜂蜜里的小石头,正晃着尾巴歪着头看她,尾巴扫得地上的小野花晃来晃去,花瓣上的露珠都滚了下来。
米米攥紧了口袋里的橘子糖,有点紧张:“我……我不知道怎么到这里来的,我在玩那个游戏机,突然就被吸进来了。”
小狐狸噗嗤笑了,露出尖尖的小虎牙,尾巴晃得更欢了:“我就知道你是新来的,我叫阿布,是魔法编程岛的引导员,专门带你们这些外面来的小朋友闯关的。最近传送门有点不稳定,经常把爱动脑筋的小朋友吸进来,上周还有个爱玩拼图的小男孩呢,现在已经闯到第三关了,他还留了个玻璃弹珠在我这里,说要等闯完所有关卡再寄给他。”
阿布说着,跳上一块铺着软苔藓的大石头,示意米米跟上来,一边走一边给她讲魔法编程岛的故事。米米跟着它踩在软软的苔藓上,痒丝丝的,路过的松鼠尾巴上也有发光的纹路,抱着个橡果跟阿布打招呼:“阿布阿布,今天的新冒险者是个戴草莓发夹的小丫头呀?”说完就蹦跶着上了树,尾巴扫落的橡果刚好滚到米米脚边,她捡起来一看,橡果壳上还刻着个小笑脸。
“以前我们岛可热闹啦,”阿布晃了晃尾巴,声音里有点可惜,耳朵上的四叶草被风吹得一晃一晃的,“所有的东西都会说话,大树会出逻辑谜题,小溪会讲以前的故事,能量核心亮得像个小太阳,晚上我们在它旁边烤棉花糖,整个岛都暖乎乎的。后来不知道怎么了,能量核心坏了,能量一点点消失,好多东西都不会说话了,森林的光也暗了一半,晚上黑乎乎的,只能摸黑找橡果吃。老巫师说,只有拿到15个能量碎片,才能修好核心,但是只有会用‘编程思维’这个魔法的小朋友,才能拿到碎片。”
它转过头,琥珀色的眼睛盯着米米,尾巴尖的白毛在阳光下亮得像个小灯泡:“你不用怕,编程思维不是什么要背的公式,也不是要写弯弯曲扭的代码,就是平时你玩游戏、帮妈妈做家务的时候就会用的小方法。比如你刚才找我问路,沿着小溪走,看到石头就跳上来,没有乱往树林里钻,这就是编程思维里的‘顺序’——就是按照一定的步骤来,不会乱套,就像你早上起床,先穿衣服再穿鞋,要是反了,光着脚踩在地上,多凉呀,是不是?”
米米的眼睛一下子亮了。她可是全班闻名的解谜游戏小达人,上周通关《密室逃脱大挑战》的时候,要开书房的门,她就是这么做的:第一步找钥匙,第二步发现钥匙在抽屉里,第三步找抽屉的密码,第四步发现密码在墙上的画里,第五步输入密码打开抽屉拿到钥匙,第六步开门。她以前以为这只是玩游戏的小技巧,没想到这就是阿布说的“编程思维”呀!原来不是什么难的东西,就是她早就知道的小秘密呀!
“那我们现在就去第一个关卡吧,”阿布甩了甩尾巴,往森林深处走,爪子在软泥上踩出小小的梅花印,“路上我还会告诉你,编程思维就藏在我们身边的所有小事里,你看那棵大树的树干上,是不是有小熊刻的小图案呀?”
米米顺着它指的方向看,果然看见一棵大槐树的树干上,从下往上刻着四个歪歪扭扭的小图案,第一个是红苹果,第二个是黄梨,第三个是粉桃子,第四个是弯香蕉,刻痕的边缘还有点毛刺,像小熊拿小石头刻的时候力气不够。
“你看,小熊刻的顺序是不是跟他吃水果的顺序一样呀?”阿布歪着头说,“他最喜欢吃苹果,酸酸甜甜的最好吃,所以第一个刻苹果,然后是梨,梨的水分多,解渴,再是桃子,桃子软,好咬,最后是香蕉,香蕉最容易压坏,所以放在最后。要是顺序反了,先拿香蕉再拿苹果,香蕉不就被压得黑乎乎的,不好吃了?这就是‘顺序’的逻辑,也是编程思维里最重要的一种哦。你看,我们刚才沿着小溪走,再过大石头,再进枫树林,也是按顺序来的,要是乱跑,说不定就走到黑森林里去了。”
米米点了点头,她吃水果的时候也是先拿硬的苹果,再拿软的香蕉,不然香蕉就会被压得黑乎乎的,不好吃。她蹲下来摸了摸树干上的刻痕,木头被刻的地方有点凸起来,她还在心里默默记了一遍:苹果→梨→桃子→香蕉,就像她玩解谜游戏的步骤一样,一步都不能乱。
她们沿着小溪继续往前走,溪水边的石头从岸边到河中心,越来越大,岸边的石头只有小石子那么大,圆溜溜的,踩上去也不疼;越往中间走,石头越像小饭碗,最大的那块比米米的脚还大,表面滑溜溜的,还长着点滑腻腻的青苔,要是踩上去肯定要摔跤。
“你看这些石头,是不是按从小到大排的呀?”阿布用爪子拍了拍最小的那块石头,石头发出叮咚的响声,像个小铃铛,“小青蛙过河的时候,就会踩最小的石头走,因为大的石头太滑,容易摔跤,要是乱踩,踩到滑的大石头,不就掉进水里啦?这就是‘大小比较’的逻辑,也是编程思维的一种哦。你看那棵大树的叶子,是不是下面的叶子大,上面的叶子小?也是按大小排的,这样风一吹,叶子不会乱掉,也不会挡住阳光。”
米米蹲下来摸了摸那些石头,确实,从岸边到河中心,石头的大小是慢慢变大的,像有人特意排过一样,连石头上的花纹都是从简单到复杂。她还看见一只小青蛙正踩着石头过河,跳到最小的那块石头上,蹦到第二块,再蹦到第三块,稳稳当当地到了对岸,连水花都没溅起来多少,跳到对岸后还回头冲米米“呱”了一声,像是在说“你看我没摔跤吧”。
穿过小溪,她们走到了一片枫树林里,枫树的叶子红得、橙得、黄得、绿得,排得整整齐齐,风一吹,就簌簌往下掉,像下了一场彩色的雨,落在米米的头发上、肩膀上,她伸手接了一片红色的枫叶,叶脉是金色的,在手里亮闪闪的,像藏了星星。阿布甩了甩尾巴,扫掉一片飘到它鼻子上的红枫叶:“你看这些枫叶,是不是按颜色从深到浅排的呀?这是小风精灵怕下雨的时候叶子乱掉,堵住小