网站首页 > 技术教程 正文
引 入
各位大朋友,小朋友,大家好。马上就要清明节了。所以本期文章的主题也变成了水墨风,希望大家看起来不会别扭。今天给大家带来的案例是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“推箱子”小游戏,就完成了讲解。有兴趣的朋友可以动手操作一下,看看老师讲的是不是正确,如果有讲得不正确的地方还请留言指正,老师一定认真改正。
最后提醒大家,清明节到来,请小心用火,能不用火尽量不用,如果用火,请在火种熄灭后离开。
猜你喜欢
- 2024-09-29 益智小游戏《欢乐推箱子》第19关通关策略图文解析
- 2024-09-29 C语言游戏开发项目-推箱子,零基础也能学会
- 2024-09-29 《迷宫强盗》:一起来推箱子了 请问迷宫
- 2024-09-29 如何使用C语言编程实现一个推箱子游戏?技术核心和算法实现
- 2024-09-29 手游|萌萌的上古文明教你怎么玩“推箱子”!
- 2024-09-29 小伙利用C++打造推箱子游戏,成功拿到Offer
- 2024-09-29 推箱子游戏,解答 推箱子游戏解题程序
- 2024-09-29 小伙利用Python自制一个推箱子小游戏!
- 2024-09-29 一款二次元美少女收集推箱子游戏 二次元收集类手机游戏
- 2024-09-29 《推箱子》的后现代主义重构 《糖果包》评测
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)