本文首发于微信公众号: 小蚂蚁教你做游戏。欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识。
嗨!大家好,我是小蚂蚁。
上一节教程里我们实现了游戏中最难的地方——堆叠牌的拾取,这节教程我们来继续学习一下如何随机的生成一个关卡中的牌。
上一节教程中我们使用的红色和白色的方块代表卡牌,为了区分不同的牌,我找了一些可爱的小动物头像(共 10 个),我们仍然是创建两层堆叠牌,不过这次这些牌会显示出不同的类型(不同的动物头像),每次生成的牌都是随机的,也就说即使是同一个关卡,每次打开也都会不一样。
这些小动物头像的素材我给大家打包好了,可以在公众号中回复“动物头像”获取,或者你也可以使用自己的图片素材,只要能够区分不同的卡牌即可。
接下来我们就直接开始吧!
还是先从理论开始,一共有 10 种不同类型的小动物卡牌,我们先给它们依次编上序号。
如图,每一个数字代表一种类型的卡牌。一个数字就等同于一个动物头像,这个其实就是所谓的数据抽象了。
如图,右侧上方的这个 3 x 5 的头像排列,与下方的这个 3 x 5 的表格是等价的,后续我们将会暂时忽略掉这些可爱的动物头像,而直接跟数字打交道。
先回忆一下上一节课我们是如何创建初始牌的两层布局的,是不是先创建第一层,然后再创建第二层。就像是这样:
我们再继续往下拆解,第一层牌都是如何创建的呢?是不是从左上角的第一个位置开始,一行一行的,依次的创建每一张牌,直到创建完 15(3x5)张牌为止。接着,第二层牌与第一层牌一样,从左上角第一个位置开始,一行一行的,直到创建完 12(3x4)张牌为止。
在这个关卡布局中,一共需要创建 27 (15+12) 张牌