推箱子游戏于1981年由日本人今林宏行首创,是在1982年12月由Thinking Rabbit 公司首次发行,名“仓库番”。箱子只可以推, 不可以拉, 而且一次只能推动一个,胜利条件就是把所有的箱子都推到目的地。是一种老少皆宜的益智游戏,既可以开发青少年学生的智力,又可以防止老年痴呆症,全家一起攻关还可以促进家庭和睦,何乐而不为?
作品简介
今天为大家带来的Scratch作品是《推箱子游戏》,这是一款益智类游戏。经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
在使用Scratch3.0创作推箱子游戏中,主要使用了如下知识点:
- 循环编程,包括指定次数循环和计数循环
- 条件编程,包括单分支条件和双分支条件以及二者之间的嵌套
- 事件编程,包括事件广播机制和按键事件处理
- 变量和列表
- 函数和自制积木
- 字符串操作
本次的Scratch推箱子游戏最大的亮点在于地图的绘制和移动的控制,这不是通过简单的碰撞检测来实现的,而是通过数据结构和算法来实现的,整个地图,包括墙、人、箱子、墙、球都是用一个二维列表来表示的,如图所示:
然后每一步的操作都是对这个二维列表进行操作,然后按照二维列表的数据将各个角色显示在舞台上。不过在执行程序的时候,需要开启加速模式,从而让整个渲染的过程看起来更自然。
代码片段
Scratch推箱子游戏难度较大,核心是灵活运用二维列表的数据结构,同时学习逻辑和显示相分离的编程思想,总代码量为530行左右,下图是小人角色的部分代码:
作品效果
Scratch推箱子游戏的完整效果如视频所示:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容