所有消除游戏背后那些看不见的数字

简介: 嗨!大家好,我是小蚂蚁,这是消除游戏系列教程的第 2 篇。在上一篇中我们讲到所有消除游戏(严格来讲是所有的非纯物理的消除游戏)的背后都有一张看不见的“网格”,这张“网格”是一个消除游戏的基础,有了它才有了行列式的布局,你才能够把指定的元素(图标)放置在指定的位置上,就像下面这样。

嗨!大家好,我是小蚂蚁,这是消除游戏系列教程的第 2 篇。

在中我们讲到所有消除游戏(严格来讲是所有的非纯物理的消除游戏)的背后都有一张看不见的“网格”,这张“网格”是一个消除游戏的基础,有了它才有了行列式的布局,你才能够把指定的元素(图标)放置在指定的位置上,就像下面这样。



在有了这样的基础之后,我们下一步是不是就可以开始实现各种各样的操作,去进行消除啦?且慢,在处理各种操作进行消除之前,你还需要理解一个东西,那就是所有消除游戏背后那些看不见的“数字”。


作为一个游戏制作者,你应该对自己有更高的要求,除了看见玩家所能看到的东西,也需要具备一双可以洞穿游戏的眼睛,看到那些玩家看不到的东西。除了看见那张“网格”,还需要再进一步,看见那张网格上面的“数据”。

如图,这是一个典型的三消游戏的样子。一个 6 x 6 的布局,共包含 4 种不同的元素。

任意交换相邻的两个元素,交换后,如果在水平或者竖直方向上满足相邻的至少 3 个元素相同这一条件,就消除这些元素。因为规则是满足 3 个相同的元素即可消除,所以又被称作是“三消”。

下面用你的眼睛扫描一下上方这个三消游戏的图片,看到那个“网格”了吗?(没看到的话证明你的“游戏创作者之眼”没有修炼好,请回顾一下,继续修炼一下)。


如果你的“游戏创作者之眼”修炼合格的话,你应该是可以看到下方的这张“网格”的,一个 6 行 6 列的网格,上方的那些消除游戏中的图标一个一个老老实实的按照这样的布局安放到每一个格子中。


接着,我们在看见“网格”的基础上,再进一步。

如图,网格中不再是空空如也了,而是填满了数字。这些数字是根据什么来填的呢?看一下右侧,我们用 1 表示黄色的正方形,2 表示红色的三角形,3 表示绿色的五边形,4 表示蓝色的六边形。然后对照着上方的游戏界面,我们将这些数字填入到了下方的这个网格中。接下来,我们的注意力将都会放置在这张填满数字的网格上,因为我们将借助它来完成查找,匹配,以及后来的消除和移动等操作。


你可能会问,为什么放着上方这个直观的图形界面不用,非要把它转换成下方这个看起来晦涩的数字网格呢?这个问题非常好,值得好好的回答一下。


如果你想要和一个只懂英语的人交流,那你会怎么做?先要把你想要表达的内容转换成英语,然后传达给对方,这样对方才有可能理解你的意思。如果,你上来冲着对方来一通汉语,那结果会怎样?大概只能看到对方一张布满问号的脸。


现在我们把外国人换一下,如果你想要和一台计算机交流,你会怎么做?先要把你想要做的东西转换成它能够理解的语言,然后传达给它,这样它才能够理解你的用意,做出你想要做的东西。如果,你上来冲着计算机说:嗨,哥们!我想做一个三消游戏,就那种三个一样的图标凑在一起就可以消除的,怎么样?很简单吧!帮我来一个。你猜结果会怎样。


对于人类来讲,我们更擅长处理表象化的东西,黄色的正方形匹配黄色的正方形,红色的三角形匹配红色的三角形,这样很直观,很容易理解。但是对于计算机来讲,它无法理解这些东西,它擅长处理的是“数据”。所以,为了能够和它顺畅的交流,我们就必须要把表象化的东西转化成它所能够理解的“数据”。这个东西还有一个高大上的词汇,叫做“数据抽象”。


其实说白了,就是如果你想要计算机帮你干活,那你就必须跟它说点儿它能够听的懂的“话”。


解答完了这个问题之后,我们就能够踏踏实实的看看这张填满数据的表格了。对于一个“三消”游戏来讲,我们如何把它的规则翻译成计算机能听得懂的“话”?


任意交换网格中两个相邻的数字,交换之后,如果满足在当前行或者列上至少 3 个相邻的数字相等,那么这 3 个相邻的数字就满足消除条件,就可以进行消除。

如图,我们将第 4 行第 4 列的 “” 和第 4 行第  列的 “” 进行交换,交换之后,竖直方向上的 3 个数字 4 相等,此时就满足消除消除条件。


好了,这就是消除游戏背后的那些看不见的“数字”了,对于玩家来讲,看到的是一个一个的游戏图标在移动,在消除,在下落,而对于游戏创作者来讲,你所做的其实是在一张布满数字的表格上,交换,比较,移动。这是两个完全不同的目光所及的两个完全不同的世界,是不是特别的神奇呢?


我们如何在游戏制作时构建这张填满数据的网格呢?仔细再看一下这个网格,它是不是很像是一个表格,二维数组,数组的数组......根据你所使用的编程语言和游戏制作工具的不同,一定都能找到对应的数据类型来呈现出这样的一个布满数据的表格。


在上一篇的基础上,我们在构建“网格”时,就可以再增加一个对应位置上的数字了。

->计算起始点的位置x0,y0
->循环(行数)次
  ->循环(列数)次
    ->创建元素
    ->根据当前的行列,设置元素的位置xn,yn
    ->根据当前的行列,在网格上的对应位置设置表格当前元素的数字(新增)
  ->列循环结束
->行循环结束


这样在绘制出可见的图标的同时,我们也绘制出了一张看不见的填满数据的“网格”。


在你的“游戏创作者之眼”得到进一步的提升之后,我们再来看一下那些常见的消除游戏吧!


  • 三消


交换两个数字,水平或者竖直方向上有 3 个相等的数字即可消除。




对于这类型的消除游戏来说,数据格式要简单很多,因为只需要 (计算机最喜欢的东西),只要一行或者一列的数字都是 1就满足消除条件,是不是有一种豁然开朗的感觉。


  • 连线消除


连线消除游戏,水平,竖直或者倾斜方向,只要数字相等,就可以把它们连起来,连起来的数字等于或超过 3 个就可以消除。


  • 点击消除(消星星)


点击任意一个数字,水平或者竖直方向上只要有相同的数字就消除。


仔细的观看上方的这 4 种不同类型的消除游戏的动图,来提升你的“游戏创作者之眼”的等级。


看起来千变万化类型各异的消除游戏,其实背后只不过是在包含着 这 5 个数字的表格中进行着各种各样的操作和处理,是不是有种“不过如此”的感觉呢?


在表象的游戏世界之下总有一些看不见的东西,作为游戏的创作者你需要具备一双“创作者之眼”来发现它们。很多看上去神奇的东西背后,只不过是一些简单的原理。发现它们就如同是捅破了一层窗户纸,让复杂多变的世界瞬间变得清晰而简单,此时,你可能会禁不住感叹:哦!原来是这样,不过如此啊!


想学习做游戏的话,关注我的就对啦!

另外我做了一门游戏开发课程服务,提供围绕着学习做游戏有关的一整套的服务,却只需一门的价钱。想学习做游戏的朋友不要错过了。可以了解这个服务的详情。

这里是我做的消除小游戏,不去看看吗?


精致

一个很精致的消除游戏。

小程序

圆点守护者

为守护家园而战

小程序

也欢迎加个微信,交个朋友,毕竟我还是个蛮有意思的人呢!

相关文章
|
2月前
|
人工智能 大数据 区块链
|
5月前
全息近眼显示技术如何实现三维图像再现?
【6月更文挑战第26天】全息近眼显示技术如何实现三维图像再现?
45 4
|
5月前
|
传感器 存储 编解码
数码相机背后的像素秘密:静态与动态的真相
这篇文章探讨了数码摄影中“动态像素”和“静态像素”的概念。像素是图像质量的关键因素,而CCD或CMOS传感器负责将光信号转化为数字图像。RGB差值补偿算法用于恢复色彩,但牺牲了部分分辨率。所谓“动态像素”更多是营销术语,而非技术标准,它反映了拍照和录像时因硬件限制和处理需求不同而产生的差异。随着技术进步,硬件编码器的引入已显著提升视频处理能力,使得高清摄影和视频录制变得更加普遍。理解这些原理有助于消费者做出更明智的设备选择。
|
6月前
|
人工智能 数据格式
所有消除类游戏背后那些看不见的数字
所有消除类游戏背后那些看不见的数字
73 1
|
6月前
|
开发者
所有消除游戏背后都有一张看不见的网格
所有消除游戏背后都有一张看不见的网格
77 0
|
开发者
所有消除游戏背后那张看不见的网格
观察一下上方的这一系列各种各样的消除游戏的图片,它们都有着这样的一个共同点,就是都是按照行列进行布局,有 7 行 7 列,有 10 行 10 列的。这样的行列布局是不是特别的像一个“网格”?这就是我们今天要讲的,所有消除游戏背后都有的那张看不见的“网格”。
111 0
|
小程序 搜索推荐
计划写一个消除游戏系列
我决定为自己开一个“大坑”,就是写一个消除游戏的系列。在这个系列中将会包含各种各样的消除游戏的实现原理和方法,目前在计划之中的有连线消除,点消和三消。
83 0
|
小程序
如何做一个俄罗斯方块7:消除判断和处理
嗨!大家好,我是小蚂蚁。今天我们继续来了解下一个环节:消除判断和处理。因为消除判断和消除处理都比较简单,所以,这里我们就将这两个环节合并在一起讲解。
173 0
|
小程序 算法 数据可视化
个人想通过做游戏可行吗?难吗?
当然不是了。这其实就跟“某人制作了一条短视频了xx万”,“某人的一篇文章价值xx万”,“某人买了一注双色球了xx万”是一样的。这些其实都是极小概率事件儿,但是如今,如宇宙大爆炸般的比特信息,再加上刻意的引导,算法的助力,仿佛让这些极小概率事件儿变得不那么小了。这些事情似乎每天每时每刻都在发生,很容易就会让人觉得习以为常。
144 0
|
存储 传感器 编解码
设计全新动作捕捉,构建水下3D系统,《阿凡达2》的特效背后藏了哪些秘密?
上映一周,票房破5亿。 暌违13年,詹姆斯·卡梅隆终于带来了《阿凡达2:水之道》。
1691 0
设计全新动作捕捉,构建水下3D系统,《阿凡达2》的特效背后藏了哪些秘密?