(点击 蓝字,轻松关注。查看历史文章,收获最新资讯)
本文是动手编程实战的第二讲。跟随本文,你将完成一个猫捉老鼠的小游戏。学了那么多积木,总要练习一下才能真正领会它们的妙用。
00 软件需求说明
如果你不知道什么是“软件需求说明”,请查阅 上一篇编程实例文章。
需求说明:
软件有两个角色,猫和老鼠
老鼠在前面跑,可以通过鼠标控制老鼠移动
猫在老鼠后面追
猫捉到老鼠时,程序停止
01 添加角色
打开Scratch,出现默认的白色舞台和小猫角色。你可以直接使用这只黄色小猫。也可以像我这样,删除它,从“角色库”选择另一只小猫,然后,添加一只老鼠。
我之所以换另一个小猫,是因为这只的样式符合从上往下俯视的视角。在最后运行程序时,就好像我们站在楼上凭栏往下望,看到楼下客厅一只猫在追一只老鼠。
这两个角色都可以在“角色库——分类——动物”中找到。操作步骤如下,
02 调整角色大小
舞台的尺寸优先,作为追逐类的小程序,角色体积不宜太大,另外,老鼠和猫的大小对比也应合理一些。
03 老鼠跟随鼠标移动
现在开始对老鼠角色进行编程啦……
选中老鼠角色,添加起始积木,使得它可以在点击舞台小旗时开始执行。
老鼠需要跟随鼠标移动,移动积木会派上用场。
鼠标不停移动,老鼠要始终跟随鼠标,这种“重复的”场景正是循环积木用武之地。
积木代码如下,
注意 [面向 鼠标指针] 积木,如果不添加它的话,老鼠的头就不会朝着移动的方向,在你用鼠标在舞台上画圈圈时,就会看到老鼠有时在倒着走、侧着走的尴尬样子。
随然不影响软件正常使用,但是,正是这些细节决定了软件品质和用户体验。
04 猫追老鼠
仔细分析猫捉老鼠的游戏需求,会发现针对猫的需求主要有2个:
猫追着老鼠移动。
猫捉到(碰到)老鼠时,程序终止。
于是,完成这2条需求 ,就有了下面的积木脚本,
点击舞台上的小旗,体验下当前的脚本运行效果。很惊讶,刚点击完棋子,两个角色同时移动到舞台的右上角,程序结束了……
尴尬了,小猫的脚本存在bug,需要修复程序。
Bug
(程序错误、程序缺陷),是程序设计中的术语,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。
因为历史上第一个计算机程序错误是飞蛾(bug)引起的,所以,后来就用bug来指程序错误。
—— 摘自 wikipedia
小猫代码第二版(version 2)
如果称上面那个含bug版是第一版的话,那么,下面就是小猫代码的第二版了。
我们修改了2处,第一,是在程序开始后等一段时间,给老鼠提前准备的时间;第二,在循环积木内部,面向老鼠后不是直接跟着积木 [移到 老鼠角色] (因为这个积木会立即让猫移动到老鼠跟前,导致程序结束),而是等待极短的时间然后只移动少量几步。
此时,再次运行程序,查看效果:
效果好多了~~~
多运行几次,观察程序结束时老鼠和猫的位置,发现“猫捉到老鼠”时,老鼠是在猫上面的!这样的猫捉老鼠可大大的不合理啊。
再修改程序。
小猫代码第三版(version 3)
当猫捉到老鼠时,把猫的角色往上层移动。(如果你已经记不清“层”的概念,请查阅公众号底部菜单“Scratch编程手册”中,关于“外观”积木的文章)
至此,小猫的脚本已经完全满足需求说明中的要求了。
05 更改舞台背景
白色的舞台背景太缺乏美感了!
我们可以按照自己的喜好修改背景,虽然需求说明没有这样的要求,谁让咱追求完美呢
06 完工!试运行
至此,我们完成了“需求说明”中的全部内容。
点击舞台右上角的小旗子运行程序,看看效果吧。
附加练习
在猫追赶老鼠的过程中,每个n秒说一次:“放弃吧!你跑不掉的!”
按照你自己的喜好,跟换角色造型
程序开始后,猫移动到舞台中心位置,且面向90度
tag:#Scratch编程、#少儿编程、#儿童编程、#趣味编程、#青少年编程、#软件编程、#编程实战、#例子
领取专属 10元无门槛券
私享最新 技术干货