“松下问童子,言师采药去。只在此山中,云深不知处。”
唐代诗僧贾岛的《寻隐者不遇》寻访一位隐者未能遇到有感而作的。“云深不知处”就是在迷宫中的感觉了。在学习了Scratch的基本操作和指令之后我们通过一个迷宫游戏来学习巩固一下。迷宫游戏能够锻炼小朋友的注意力、判断力和思考力。小朋友从小就喜欢迷宫类的书,常常以能快速找到迷宫出口的洋洋得意。
游戏的任务分解:
1、更换背景
2、控制小猫在迷宫中移动
在http://www.mazestoprint.com/找到一个合适的方形迷宫图片作为背景。删除原有的背景。
然后通过键盘控制小猫移动。脚本是这样的:首先移动到迷宫的入口位置,x、y的初始值根据不同迷宫的入口位置而不同。然后循环判断是否有上下左右键按下,增加或减少x、y坐标来移动小猫。
这样能够通过键盘上下左右移动scratch小猫在迷宫中穿行了。但是存在两个问题:
1、小猫移动过程是滑动的,而不是走过去的。真实感不够。
2、小猫拥有“穿墙术”,可以穿越迷宫的墙,直接到终点
我们要解决这个两个问题,真正成为一个可以玩的游戏。
一、让小猫能走动
要让视觉上看到小猫是走动的,需要造型的变化、运用到脚本指令中【外观】中的造型和【控制】中的等待1秒。在角色的造型部分,我们看到小猫有两个造型,我们很容易想到通过切换着两个造型,就能让小猫走动起来。
用到的外观中的“下一个造型”指令控制块,把“下个造型”和“等待0.1秒”放到判断按键按下的判断语句中。
点击执行能够看到当下移键按下时小猫走动的样子了。
相信你也看出问题来了,就是小猫的"穿墙术"。而这个是我们要解决的第二个问题。
二、小猫不能穿墙
不能穿过迷宫,也就是说当小猫碰到迷宫的墙壁的时候不能再动了。在scratch中我们通常使用“碰到颜色”来判断一个角色是否碰到某个物体。这里我们就用【侦测】中的“碰到颜色”判断。当点击这个指令的时候,能够通过移动鼠标选择屏幕上任意的颜色。这里我们要用迷宫墙壁的颜色-黑色。这个判断语句要配合【控制】中的“如果。。。那么。。。”指令。
能够判断小猫是否碰到迷宫墙壁之后就要让小猫在碰到墙壁的时候不动。让小猫再反方向移动回去相同的步骤,就能够让小猫待着原地了。以上移键为例的脚本块如下:
这样小猫碰到墙壁就不能动了。
类似的脚本在四个方向键中都加进去就得到我们今天要完成的完整的脚本了。
到这里一个初步的迷宫游戏就完成了。可以保存,然后分享到网站,在scratch网站上我的东西里面分享出去,让其他人能够玩起来了。