scratch推箱子,是2023年5月28日,第十四届蓝桥杯省赛国赛scratch编程题第3题,难度系数4颗星。主要考察学生对克隆体以及私有变量的综合运用,这种考法在蓝桥杯编程题中是最常见的;
编程实现:
推箱子
具体要求:
1) 点击绿旗,角色、背景如图所示
2)按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向一致,则男孩向此方向前进一个格子的距离(男孩碰到墙壁就不能再继续移动。
3)按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向不一致,则男孩需转向所按下方向键的方向。
4) 男孩碰到箱子后,男孩推动箱子同向移动,当箱子碰到墙壁或其他箱子时不能再继续移动。
5) 当三只箱子分别被男孩推到三个黑色方框上,程序结束。
评分标准:
3分:满足“具体要求”中的1)
10分:满足“具体要求”中的2)
10分: 满足“具体要求”中的3)
17分:满足“具体要求”中的4)
10分:满足“具体要求”中的5)
scratch推箱子编程实现步骤:
步骤一、新建三个角色“箱子”、“男孩”、“黑色方框”,背景为绿色带墙砖的背景;初始化男孩的坐标位置(0,0),面向0度;箱子角色、黑色方框角色都是三个克隆体,在不同的位置上克隆的;
男孩角色代码1
步骤二、重复循环侦测判断,是否按下键盘上的方向键,如果男孩面向方向与按下方向键的方向一致,则男孩向此方向前进一个格子的距离(男孩碰到墙壁就不能再继续移动);如果男孩面向方向与按下方向键的方向不一致,则男孩需转向所按下方向键的方向。这里用如果那么否则双重判断语句即可;
男孩角色代码2
步骤三、如果男孩碰到箱子后,箱子就需要面向男孩的方向,移动50步,如果碰到了墙和自己的时候,就需要移动-50步,也就是不动了。然后广播给“男孩后退”男孩收到后腿就减50步;这样男孩和箱子都在原地;
箱子角色代码1
箱子角色代码2
步骤四、新建列表“箱子是否已归位”,初始值都是0;表示没有归位;如果碰到了黑色的方框,就将对应的箱子编号值替换为1;否则还是0;当三只箱子分别被男孩推到三个黑色方框上,程序结束。
角色黑框代码