多语言展示
当前在线:1211今日阅读:176今日分享:34

swift cookie如何使用

swift cookie如何使用
方法/步骤
1

开始 你原来所做的事情是允许玩家交换cookie。下面,就需要去处理交换之后的结果了。 交换通常会形成一个有三个或者更多相匹配的cookie的链表。下面要做的就是从屏幕上消除这些相同的cookie,然后给玩家一些积分奖励。

2

你已经完成了前三步:用cookie填充关卡,计算可能的交换,等待玩家交换。在Swift指南的这部分内容中,你将会完成剩下的步骤。

3

找到链表 这个时候,玩家一般已经移动并交换了两个cookie。如果交换之后会形成一个有三个或者更多相同类型的cookie的链表–至少有一个,也可能有其他的链表,则游戏只允许玩家交换一次。

4

在你从屏幕上消除这些相同的cookie之前,你需要先找到满足条件的所有链表。这就是我们接下来要做的事情。 首先,生成一个描述链表的类。找到File\New\File…,选择IOS\Source\Swift File模板,然后点击下一步,把文件命名为Chain.swift,然后点击创建。

5

Chain类有一个存储cookie对象的数组和一个表示水平(行)或垂直(列)的属性。这个属性被定义为枚举类型;因为它和Chain是成对出现的,因此它嵌套在Chain类的内部。如果你喜欢挑战,你也可以添加更加复杂的链表类型,比如L-和T-shapes。 这里使用Array而不是Set来存储cookie对象是有原因的:这样更方便记住cookie对象的顺序,使你知道哪些cookie在链表的尾部。使把多个链表结合到一个链表中来检测那些L-或T-shapes更加简单。 注意:chain类实现了Hashable,所以可以把它放进Set中。 hashValue的代码看起来有点奇怪,但是它仅仅完成了把链表中所有cookie的值进行异或的运算。reduce()函数是Swift更多高级的功能性编程特性的一个体现。

6

为了好好的利用这些chain对象,需要打开Level.swift。然后添加一个名字为removeMatches()的函数,但是在这之前,你需要一些协助函数来完成找到满足条件的链表的繁重工作。 为了找到满足条件的链表,你需要一对for循环来遍历这个关卡网格的每一个方块。

推荐信息