从零开始做个俄罗斯方块(8):下落处理

文摘   教育   2024-07-10 10:14   山东  
嗨!大家好,我是小蚂蚁。

今天我们继续来学习俄罗斯方块中的下一个环节:下落处理。
“下落处理”也是俄罗斯方块游戏循环中的最后一个环节,因为“下落处理”结束后,就又进入到了下一个新的循环中。

与之前一样,我们先来看一下什么时候需要进行“下落处理”。
如图,“下落处理”是在消除完成之后进行的,消除完成之后,上方的未被消除的方块会下落,直到碰到下方的其它方块或者是第一行为止。

将当前的游戏抽象成数据表格再来看一下。
我们试着根据数据表格重新描述一下下落的过程:从表格最下方的第一行开始,逐行向上遍历检查,如果当前行是消除行,就直接跳过这一行。如果当前行不是消除行,就将当前行插入到新的表格中,直到检查到最上方的一行为止。

可能不太容易理解,我们用图片来演示一下整个下落的处理过程。
如图,形状停靠后第 1,3 行将会被消除,我们就以当前的这种情况来演示一下下落处理的过程。
最终,右侧的这个新的表格,就是下落处理之后的数据表格。以上就是整个下落处理的过程了,你可以对照着这个流程图再次理解一下整个下落过程。

在获得了新的表格之后,剩下的就只需要重新的调整一下方块的位置即可。

接下来,看一下整个下落处理的积木逻辑。


这里你可能发现了,我并没有创建一个“新的表格”,上方图片中的“新的表格”只是方便我们理解整个下落处理过程,实际的逻辑中只需要知道当前的行需要插入到新表格中的哪一行(下落行号)即可,我们使用了两个列表来记录了需要进行移动处理的方块的索引,以及它对应的需要移动到的新位置的索引。

接着,来看一下填充方块上的“下落处理”逻辑。


逻辑很简单,看一下自己需不需要移动,需要的话就找到移动的目的地,然后将自己移动过去。另外,在移动前将自己数据表格中相应位置的数据设置为 0 ,移动后再将数据表格中相应位置的数据设置为 1。

最后,预览一下场景,看一下下落的处理。


消除完成后,剩余的方块会进行下落处理,然后移动到自己的新位置上。

至此,整个俄罗斯方块游戏的整个流程我们就都讲完了,俄罗斯方块作为消除游戏的鼻祖,其中的很多原理和机制都被应用在了后续的各种消除类型的游戏中。如果你对做一个消除游戏感兴趣的话,那么俄罗斯方块作为上手研究的开始绝对是一个不错的选择。

Jesse Schell在《游戏设计艺术》的前言中说过这样的一句话:令经典游戏好玩的原理,与令现代游戏好玩的原理一模一样。研究透这个经典的俄罗斯方块游戏,不论是在游戏开发上还是游戏设计上,对于游戏开发者来讲,或许都会有一定的帮助吧!

我的俄罗斯方块小游戏已上架微信小游戏平台,欢迎点击下方的小程序卡片体验,无需下载安装,即点即玩。



我是会做游戏也会教你做游戏的小蚂蚁,想学习游戏开发的话,关注我的公众号就对啦!

想学做游戏?欢迎加入我的年度游戏开发课程,面向零基础新手。用一年的时间,从零开始做出自己的游戏。欢迎你的加入,来跟一百多位同学一起学习。【点击这里】可了解年度课程详情。


欢迎加入【小游戏运营推广践行群】(点击这里了解详情),学习小游戏推广运营,成为少数的可以以一己之力做出游戏赚到钱的人。目前 80+ 小伙伴已加入,欢迎来和我们一起践行,探索小游戏推广的更多可能(注:学员加星球享半价优惠)。


这里是我制作的部分小游戏《俄罗斯拼图方块》《彩虹星球大冒险》《经典俄罗斯方块》《疯狂泡泡龙》大家可自行点击搜索体验。


推荐学习专栏:


从零开始制作一个经典1010游戏


从零开始制作一个连连看游戏


欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识和内容,可以来围观。备注“学习做游戏”可免费领取原创的游戏开发教程资料大合集!非学员只接受付费咨询,不闲聊,望见谅。

长按识别关注

交个朋友!

·end·
—欢迎大家点赞,再看,分享—
—你的鼓励对我来说价值巨大—


小蚂蚁教你做游戏
跟小蚂蚁学习游戏制作开发和设计,学习游戏编程,这里有很多原创的游戏开发制作教程和独家课程,帮助你快速入门,使用无代码可视化的游戏制作软件,制作属于自己的游戏。
 最新文章