推箱子游戏于1981年由日本人今林宏行首创,是在1982年12月由Thinking Rabbit 公司首次发行,名“仓库番”。箱子只可以推 不可以拉 而且一次只能推动一个,胜利条件就是把所有的箱子都推到目的地。是一种老少皆宜的益智游戏,既可以开发青少年学生的智力,又可以防止老年痴呆症,全家一起攻关还可以促进家庭和睦,何乐而不为?

今天为大家带来的Scratch作品是《推箱子游戏》,这是一款益智类游戏。经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。

在使用Scratch3.0创作推箱子游戏中,主要使用了如下知识点:

本次的Scratch推箱子游戏最大的亮点在于地图的绘制和移动的控制,这不是通过简单的碰撞检测来实现的,而是通过数据结构和算法来实现的,整个地图,包括墙、人、箱子、墙、球都是用一个二维列表来表示的,如图所示:

然后每一步的操作都是对这个二维列表进行操作,然后按照二维列表的数据将各个角色显示在舞台上。不过在执行程序的时候,需要开启加速模式,从而让整个渲染的过程看起来更自然。

Scratch推箱子游戏的完整效果如视频所示: