从零开始做个俄罗斯方块(7):消除判断和处理

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

今天我们继续来了解下一个环节:消除判断和处理。因为消除判断和消除处理都比较简单,所以,这里我们就将这两个环节合并在一起讲解。

消除判断

俄罗斯方块中的消除在消除游戏里算是最简单的了,因为只需要满足一个条件:任意一行只要被填满方块即可消除。
就游戏中的数据表格来讲,只要表格中的任何一行所有的数字都为 1 ,则该行就满足消除条件。所以,在进行消除判断的时候就很简单了,我们只需要一行一行的去遍历表格中的数据,只要这一行中的所有数据都为 1,就记录下这一行的行号。等到所有遍历完成之后,再来检查一下是否有满足消除条件的行,如果有的话,则进行消除处理。

直接来看一下关于消除判断的积木逻辑。


这里注意一下,在向“消除的行号列表”中插入当前的行号时,我使用一个运算积木“行迭代 + 0”,这么做的原因是,当你直接向列表中插入一个数字时,有的时候列表无法自动判断出插入的这个东西是数字,它就会把这个数字当作一个字符放进列表中。之后当你判断列表中是否包含某个数字时,如果之前插入的是字符,判断结果就会为“否”,这会导致一些莫名其妙的问题。所以,在插入数字时,我们直接使用一个运算积木,相当于明确的告诉列表,我要插入的是一个数字,而不是一个字符。

消除处理

接着,来看一下如何处理消除。

在消除判断中,我们已经找到了满足消除条件的行号,例如当前需要消除的有“1,2,3”行。要进行消除,只需要向所有的“填充方块”发送一个“消除”的通知,接收到通知的方块检查一下自己是否位于需要消除的行,如果是的话,就将自己删除即可。

来看一下“消除计算”下半部分的积木逻辑。


如果有满足消除条件的行,就向所有的填充方块发送“消除处理”的通知,否则的话,判断是否到达最上方,是的话,游戏结束,不是的话,继续生成下一个形状。

最后,再来看一下填充方块的消除处理。


只要自己的行号包含在“消除的行号列表”中,则证明这个方块需要消除,就对它进行消除处理。

预览一下场景,看一下消除效果。


总结一下:俄罗斯方块游戏的消除判断在所有的消除游戏里是最简单的,只需要判断数据表格中某一行是否都为 1 即可。在消除判断中,记录的是满足消除条件的行号,我们把这些行号记录在一个“列表”中,在消除处理中,我们向所有的填充方块发送一个通知,接收到通知的填充方块,通过检查自己所在的行号是否包含在“消除的行号列表“中,来判断自己是否需要消除。

消除游戏背后的实质就是那张看不见的数据表格,几乎所有的判断和处理都基于它,好好锻炼一下自己的那双可以洞悉游戏表象的眼睛,就从最简单的俄罗斯方块开始吧!

俄罗斯方块小游戏已上线,欢迎点击体验。


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

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


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


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


推荐学习专栏:


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


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


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

长按识别关注

交个朋友!

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

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