3. 推箱子(50分)
编程实现:
推箱子。
具体要求:
1). 点击绿旗,角色、背景如图所示;
2). 按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向一致,则男孩向此方向前进一个格子的距离(男孩碰到墙壁就不能再次继续移动);
3).按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向不一致,则男孩需转向所按下方向键的方向;
4). 男孩碰到箱子后,男孩推动箱子同向移动,当箱子碰到墙壁或其他箱子时不能再继续移动;
5). 当三只箱子分别被男孩推到三个黑色方框上,程序结束。
评判标准:
3分:满足"具体要求"中的1);
10分:满足"具体要求"中的2);
10分:满足"具体要求"中的3);
17分:满足"具体要求"中的4);
10分:满足"具体要求"中的5)。
难度※※※,考查的知识点包括Scratch克隆、运动、循环和如果那么积木嵌套,注意需要两个细节。
1、注意需要在末尾加上“等待+按下任意键不成立”这块积木,这样保障电脑只识别到一次按键,如果没有这块积木,按一下方向键,男孩能跑几个50。
2、箱子碰到墙壁、箱子,箱子和男孩都会后退
根据程序本题包含3个角色,男孩、箱子和黑色方框
程-序-效-果
3-推箱子
题-目-讲-解
一、思路分析
二、初始化
1、男孩
2、箱子
使用克隆积木生成三个箱子
3、黑色方框
参考箱子的积木
三、控制男孩移动
1、先理解一个方向的积木,判断男孩当前方向是否向上(也就是男孩方向是否等于0),如果等于0,那么向上移动,如果前面有墙壁那么就会回退
2、其他方向同理
注意需要在末尾加上这块积木
这样保障电脑只识别到一次按键,如果没有这块积木,按一下方向键,男孩能跑几个50。
四、箱子
1、推动箱子前进
注意当箱子后退,男孩也有后退,给男孩发送广播就可以
2、判断游戏成功
总-结
《推箱子》这道题目主要涉及克隆、运动、侦测、控制等积木模块,主要难点就是上述三个点,注意涉及到对条件的设置和(循环+条件)语句的嵌套。