分享免费的编程资源和教程

网站首页 > 技术教程 正文

Scratch小游戏“推箱子”,简单易学还好玩,中小学生最爱

goqiw 2024-09-29 16:39:11 技术教程 124 ℃ 0 评论

引 入

各位大朋友,小朋友,大家好。马上就要清明节了。所以本期文章的主题也变成了水墨风,希望大家看起来不会别扭。今天给大家带来的案例是Scratch编程“推箱子”游戏,相信很多80后,都有玩过的吧,现在我们就来看看这个游戏怎么实现吧。

项目介绍

本次Scratch游戏项目为“推箱子”游戏。这款游戏在本编还小的时候,还挺喜欢玩的,感觉可以开发智力,提高思考能力。下图为游戏全过程。


项目分析

壹 背景和角色分析

要编写这个游戏,首先我们应该知道游戏规则,然后确定游戏角色个数和背景。本程序一共2个背景和4个角色。

2个背景分别是:游戏过程中和游戏完成两个背景。


4个角色分别是:一个工人和三个箱子。

工人角色有四个造型(上推、下推、左推、右推):

箱子有两个造型(黄色、红色):

贰 变量分析

本程序只有1个变量:移动方向。如图,

这个变量主要功能是让箱子随着工人前进的方向前进。用移动方向变量记录方向后,箱子就知道该向哪个方向前进了。(移动方向等0表示向上,180表示向下,90表示向右,-90表示向左。)

叁 程序分析

  • 工人角色代码

工人角色主要就是用来推动箱子前进,并且根据不同的方向变换相应的造型。详细代码如下图:

从图中我们可以看出,当点击绿旗时,初始化角色的大小和位置,工人移动则是靠键盘上的方向键来控制的。

当按下右移键,将角色造型设置为右推

将X座标增加30,向右前进一步;如果碰到了箱子角色就广播推箱子消息,并且将移动方向变量设置为90,这个时候箱子角色就会收到消息并且得到移动的方向。(这里一共有三个碰到箱子的条件,是因为我们有三个箱子需要推动,需要用条件来判断工人推的是哪个箱子。)v当工人碰到灰颜色,将X座标增加-30,表示如果碰到了墙壁,就退回来,不能前进了。

其它的三个方向,和右移是差不多的写法,只是移动的方向不同罢了。这里就不再一一讲解了。

还有一个段代码是,当收到消息碰碰壁了,这里是指如果工人推的箱子碰到了东西就告诉工人不能前进了并且把移动方向反馈回来,让工人从原来的方向退回来。具体执行情况如下图:

  • 箱子角色代码

箱子角色比较简单,一共有3个,他们的代码基本相同,只是初始化的位置和收到的消息名称不同而已,这里只讲解一个。详情如下:

当点击绿旗时,初始化角色大小、位置、造型。

当收到消息推箱子,面向变量“移动方向”方向,移动30步,如果碰到墙壁或者箱子(箱子有两个颜色黄色和红色),移动-30步,广播碰壁了(这里是告诉工人不能前进了),如果碰到绿色(绿色表示到达指定位置),将造型变为红色。

PS:箱子2收到的消息为“推箱子2”,箱子3收到的消息为“推箱子3”。运行详情如下,

  • 背景角色代码

背景角色比较简单,如下图,


由于条件有三个,这里第二张图为全部条件。

当点击绿旗时,将背景设置为背景1,重复执行,如果有所有箱子都变成红色了,就把背景变成背景2。执行情况如下图:


结 语

到这里,我们的Scratch“推箱子”小游戏,就完成了讲解。有兴趣的朋友可以动手操作一下,看看老师讲的是不是正确,如果有讲得不正确的地方还请留言指正,老师一定认真改正。

最后提醒大家,清明节到来,请小心用火,能不用火尽量不用,如果用火,请在火种熄灭后离开。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表