首页 > 代码库 > Anipang2反推文档

Anipang2反推文档

此文档主要用于一个开发同学尝试学习描述一个产品的基本设计。也许工程师都应该有类似能力。

反推的基础,目前是自己玩过的一些关卡和youtube上的一些关卡通关视频,主要是前120关。(120关后面应该是最新版本才出)。

1 消除块,棋子

颜色:青,黄,蓝,粉,褐,灰,6种,表现为小动物。

有些时候单局内只出现5种颜色的棋子。

如果消除的(N > 3)个棋子,棋盘会出现帽子(横,竖,球3种)棋子,晕眼棋子。如下图:中间有各种颜色的棋子,而且有2个晕眼棋子,横帽棋子,球帽棋子。

clip_image002

其他棋盘中的棋子还包括,箱子,血瓶,等,但其不能参与消除,后面在棋盘一节补充说明。。

血瓶,箱子,也算一种棋子。

2 棋盘的布局

目前能看到的录像和关卡还在前面120关,所以无法看到所有的,所以并不完整。

棋盘的布局为8*8,64个格子放棋子。(Candy Crush的消除区域比这个大,是9*9的区域)

镂空的棋盘格子,没有棋子,直接看到背景。这个位置不能操作。但帽子棋子的消除效果,可以穿越这个位置。

clip_image004

棋盘上放有棋子,棋子说明见第二章。

在棋盘的上面,并不是最顶层的格子都有棋子掉落,(比如某些顶层有镂空就不会掉落棋子)。比如下图图红线下面区域都是掉落的。(注意由于镂空同一列有2个掉落位置)

clip_image006

但如下图,蓝线下面的顶层区域并不会掉落棋子,而是从其他行斜向补充棋子,所以可以掉落的位置这必须也是一种可配置选项。

clip_image008

在棋盘的下面,也不是所有最底层的点血瓶都可以掉下去,可以掉的位置会有在棋盘上有向下的箭头标示。上图就有。

还有一种模式就是虫洞的掉落方式,如下图,下面是Anipang2 111关卡的抓图,棋子是从上面区域的虫洞掉落的,如果红色箭头所示,每个洞口都一一对应,(注意中间还有一个交叉对应,不知道是不是bug,呵呵),另外要注意的是,其红色区域也是会掉落棋子。

clip_image010

3 消除规则:

3.1 消除棋子

滑动3个横,3个竖就可以消除,消失后上部会掉落新的掉落块(掉落规则另外一节)。如下图:

clip_image012

如果一次消除了4个棋子,出现一个相同颜色的横消帽子或者竖消帽子(就是带帽子的小动物)棋子,具体出现横消还是竖消和消除的内容无关,随机出现(就是竖着消除4个棋子也可能出现横消的帽子棋子)。横消帽子或者竖消帽子出现的位置为你移动交换的位置,如下图红色部分,如果下面没有消除快,横消帽子或者竖消帽子也会向下掉落,比如竖着消除的例子,帽子出现在红色的位置,下面2个位置被消除掉了,所以红色消除的帽子会掉落到橙色的位置上。

clip_image014

如果一次消除5个消除块,而且消除的方式如下(注意这写情况其实都有4个方向),红色为你移入的棋子,在红色位置会出现一个球状消除的帽子棋子。

clip_image016

如果一次消除5个消除块,而且消除的方式如下,会出现一个晕眼棋子,

clip_image018

如果有同时消除,更多的消除优先,如果同时消除了3个竖,4个横,算4个消除。这个就要求在消除判断的时候,作为一种方向的判断后,继续做另外一个方向的判断,然后根据长的判断。如下图。

clip_image020

当消除掉横消帽子或者竖消帽子棋子后(消除规则和前面一样),横帽棋子的位置会消除棋盘中当前行的所有棋子,竖帽棋子的位置会消除棋盘中当前列的所有棋子(准确应该说,记录消除一次)。如果下图,红色位置的竖消(横消)被消除后,白色一行都被记录消除一次。

clip_image022

两个横消或者竖消帽子棋子(横横, 竖竖和横竖)两两相碰(一个划向另外一个),也可以消除而且会在滑向的点做一个十字消除,此行和此列的棋子都被消除一次,如图。

clip_image024

当球帽棋子被消除后,会消除一个球状区域。直径为5的一个区域。

clip_image026

横消或者竖消帽子棋子和球帽棋子相碰后,会出现增益效果的消除。做一个3*3的十字消除。

clip_image028

两个球帽棋子相碰后,增益效果是消灭一个大球,如下图,橙色的棋子滑向红色的棋子,以红色的棋子,为中心,直径为9的一个区域(如下图)。消灭周围的棋子。注意为了表现的更加清楚,我用了非8*8的棋盘示意。

clip_image030

当晕眼棋子和其他颜色棋子相碰后,此种颜色的所有棋子都被消除。

当晕眼棋子和横帽棋子,或者竖帽棋子相碰后,所有的此种颜色的棋子,都做横消或者竖消,具体是横还是竖消除随机。执行(表现)顺序是,最开始的帽子棋子和晕眼消除(注意只消除他们两个呀),然后其他相同颜色的棋子全部变成横帽,或者竖帽,然后从上至下,从左至右的横帽或者竖帽开始消除掉,整行或者整列都消除掉,全部消除完成后再开始掉落。如下图:

clip_image032

当晕眼棋子和球帽棋子相碰后,所有的此种颜色的棋子,都做球状消除,执行(表现)顺序是,最开始的球帽棋子和晕眼消除(注意只消除他们两个呀),然后其他相同颜色的棋子全部变成球帽棋子,然后所有的球帽棋子从上至下,从左至右球帽做球状区域消,全部消除完成后再开始掉落。如下图,

clip_image034

两个晕眼棋子相碰后,也会引发增益消除。全部所有的颜色方面都会轮流消失一次。执行(表现)顺序是,两个晕眼棋子消失,一种颜色的棋子被选中,全部消失,然后选中另外一种颜色消除,直至所有的颜色全部被选择。消除过程中如果棋盘中有带帽的棋子(横竖球),这些带帽棋子按照效果消除掉,如果棋盘中还有晕眼棋子,晕眼棋子不会被消除掉。全部消除完成后,上面的方面再掉落。

连带消除,如果消除的区域原有的带帽棋子,晕眼棋子会释放效果自动消除,带帽棋子就是按照,横,竖,球3种方式消除,而晕眼棋子被消除后,自动随机选择一个颜色,对这个颜色的所有棋子进行消除。

消除块会产生分数,在消除的过程中直接用动画展现,分数规则不在此反推重点。

如果棋子移动后,不能消除,棋子退回原来的位置。

棋子消除后,上面的棋子向下掉落。

3.2 箱子

放箱子的格子,箱子的周围(上下左右)棋子消除了,箱子爆炸,格子空出,棋子可以掉落到这个位置(注意是可以掉落,但未必一定掉落物品填补),箱子没有消除前,这个格子不能操作。(箱子爆炸也可以考虑N次周边被消除才爆炸)

3.3 重排(棋子都不能消除时)

所有棋子都不能消除是,要提示用户,进行棋子重新排布。Max这个地方总结的比较细致。

重新排布的规则:

已经锁定的棋子位置和颜色不变化,血瓶位置不变化,箱子不变化。

帽子棋子,晕眼棋子的的颜色不变化,但位置可以变化。

普通棋子的各种颜色的数量会变化,位置也发生变化。

变化后,不能有能直接消除棋子,但也必须能有移动后消除一次的机会。

3.4 棋子的背景和前景

棋子的背景,可以是蓝冰,蓝天白雪,后面为了方面对比,就叫蓝冰(其实我觉得像蓝天白云)。或者白雪,一种情况是蓝冰,消除这个位置一次,蓝冰消失可以看到棋盘,一种情况是是就是白雪,这个位置消除一次,变成蓝冰,必须再次消除才能看见棋盘,就是这个白雪为背景的格子必须发生2次消除才能看到棋盘。注意,白雪或者蓝冰上面没有棋子时(比如无法掉落的棋子的时候),一个格子如果没有棋子被消除,白雪或者蓝冰不会消失。

棋盘棋子的前景,有锁定,这个块被消除一次后,锁定才解除,锁定解除的时候,这个块不被消除掉。被锁定的棋子不能移动。(锁定也可以考虑N次消除才解锁)。

如下图,此关卡就有蓝冰,锁定,箱子。

clip_image036

3.5 血瓶

血瓶可能在棋盘中默认开局就有,也会掉落下来的。(Candy Crush有多种掉落水果,坚果)

血瓶在其他地方没有任何办法消除。

血瓶必须消除掉最底层有下落标志的格子才能掉落,。

3.6 Candy Crush

Candy Crush的棋盘设计比这个要复杂很多。还有履带,巧克力,定时(步数)炸弹等。

4 棋子的掉落规则

如果棋盘格子是空的(如果没有入口另说),上面的棋子就会掉落填充这个区域。

4.1 掉落规则

Anipang2有时候开局会有一些空区,再滑动第一次后开始掉落。这个也是要在关卡配置的。

Anipang2是一个的掉落是一个看上去怪怪的深度优先算法。

比如只有一个开口的区域,其他是木箱,那么掉落顺序是如下的。掉落顺序如下,有兴趣研究的可以看看Anipang43关。注意:每一个位置只会向自己的下,左,右,3个位置滑动掉落。

先贴一个简单情况的掉落顺序,假设白色是空区。

clip_image038

再说一个复杂的情况,如下图:

clip_image040

先向下,1,和2叠加,3下落时(到9号位置)当发现如果是最后一个空位了,检查左右是否可以填充。

然后向左掉落(好像也见过先向右的,不知道是否有随机),当3掉落是发现右边是空的,继续向右侧掉落,3,4,5掉落在右侧。先填充位置3,方块4在位置5会发现又是此列最高的位置,此时,发现左边还有空位,就填充左边,也就是4,然后填充5.

然后向右掉落,6,7,8掉落在右侧,规则和左边类似。

最后9封住掉落口,

注意,如果如果有些位置是空的,而掉落规则无法填充,那么就是空着,就不填充。

我对这个算法有点微词,主要是对左右滑动下落的点判断有点怪(比如2左右下面有空位,但2不想左右下落)。我觉得是否改成这样,反而好理解一些。一个点如果左右有空位就先向左右掉落,

clip_image042

另外,在发生很多块的消除后,Anipang2的棋子掉落顺序基本是所有的悬空棋子先下落,棋盘上面再开始掉落棋子方式。但有些地方是有点奇怪的,有一些位置的棋子会自己向左右滑落,不知道是否其中存在一些增加体验的随机算法。

如果同时一行有2个空格掉落,Anipang的掉落是这样的。是并行掉落的,掉落动画方式的感觉是有顺序的,但是否真有顺序?从掉落动画看第一行掉落的1格后,第二行就开始掉落。从这种方式上感觉,两行之间应该也不发送干扰,但存疑。

clip_image044

4.2 掉落后的消除

Anipang2一般都是全部消除后,再掉落,但掉落后,棋子已经全部布局,如果仍然有可以消除的棋子(比如3连,4连,5连)。还会进一部分消除掉这些棋子(注意,不是边掉落边删除,是全部掉落后,才开始自动消除这些部分)。然后再掉落,直至所有的棋盘内所有的棋子不能直接消除。

掉落后的消除也可以生成带帽的棋子或者晕眼的棋子。这样就会有一个问题,生成的带帽的棋子的位置放在什么地方?Max发现的规律生成的棋子(戴帽或者晕眼)是在被消除的区域随机出现位置。

如果掉落形成可以多次消除的棋盘如何处理的问题?这个Max见过。如下,注意这种情况只会在掉落出现,Anipang2对这种情况判断了出现一个晕眼,一个球帽棋子。我觉得这个判断逻辑有点问题。出现一个晕眼是可以理解的。但已经晕眼应该就占据了5个棋子。为啥还会出现一个球帽?存疑。这个算法有点头大。建议简化成计算出现一个判定后,就将其占用的消除物棋子视为以无效(已经处理过)?

clip_image046

5 单局结束后

5.1 胜利后

单局结束后,如果胜利后,棋盘剩下的带帽棋子,晕眼棋子会释放效果自动消除,带帽棋子就是按照,横,竖,球3种方式消除,而晕眼棋子被消除后,自动随机选择一个颜色,对这个颜色的所有棋子进行消除。(和连带消除的效果类似).

上面的步骤完成后,发生掉落补充所有的空位,掉落过程处理和正常掉落过程一样,如果掉落后还有可以消除的棋子,再次消除,直至补充完毕。

然后,如果胜利的规则是N步完成,胜利条件已经达到,但还剩余M步,会出现小兔子用吹泡泡消除一部分棋子的奖励,每个泡泡消除一个棋子。但消除的个数和剩余的个数不是相等关系,比如:如果剩余1次滑动步数,会消除3个棋子。其也称为Lastpang效果。Max这个地方写的很细致。

clip_image047

(而Candy Clush 是采用小鱼的帮主消除的方式。)

上面的步骤完成后,发生掉落补充所有的空位,掉落过程处理和正常掉落过程一样,如果掉落后还有可以消除的棋子,再次消除,直至补充完毕。

5.2 失败后

单局结束后,如果失败后,会弹出面板,确认你是否购买增加滑动次数的道具。可以参考单局失败结束道具一节的说明。

如果购买了道具后,可以继续移动N步。

充值的钻石都测试道具去了,无法测试如果再次失败是否还可以再次购买增加移动步数。建议一开始考虑可以3次,或者干脆无限算了,当有钱的大爷爽。

6 道具

6.1 开局带入道具,

目前有3中带入道具

【金币】增加滑动次数3次道具。

【钻石】开局带入一个晕眼棋子的道具。

【钻石】开局带入一个带帽棋子的道具,棋子到底是球,横,竖帽棋子,随机。(我见过横,竖帽棋子,没有见过球,待确认)

clip_image048

6.2 游戏中道具

游戏中也有三个道具

【钻石】把一个棋子消失掉。

【钻石】把一个棋子变成横或者竖帽棋子,在操作的过程可以选择。

【钻石】把一个棋子和另外一个棋子发送交互。

上面的各种开局后的图都有相应的交互方式图片。

6.3 单局失败结束道具

前面也说过了,单局失败后,会弹出一个面板。确认你是否付出钻石增加5步滑动步数。

clip_image049

7 通关地图,以及好友成绩排行榜

Anipang2是以20关为基础做一个集合,打通20关后需要钻石购买通关或者向好友索要3把钥匙打开下一个关卡集合。

打开关卡集合有何一些游戏故事背景的对话,我看不懂韩文,嗦嘎。没办法。

在通关地图上,你可以看到自己好友达到的最高关卡数,好友头像就飘扬在其通关的最高关卡上。也算一目了然。

如果没有打开的关卡集合用云雾遮挡。

clip_image050

点击一个任何关卡,你可以打开关卡的介绍(关卡的截图),你的成绩排名。其显示方法如下图:

clip_image051

注意这儿的排名只显示有3个人成绩,如果你的成绩不是第一,第二,那么你永远在第3个位置,前面显示你前面2位的成绩,点击那个按钮可以查看前面分页人的成绩。

8 关卡编辑器的配置

8.1 关卡的棋盘

关卡需要的棋子颜色数量。(有5,有6)

关卡的布局,包括镂空,棋子的前景,背景。

血瓶出现的时机,消除多少块以后掉落。

棋盘大小?(只有8*8?)

棋盘上面可以掉落棋子的位置,

棋盘上的棋子布局(有些位置要可以为空,在滑动第一次后掉落),有些位置要写死,(引导关),

棋子生成的随机规则,(是否要考虑几套预案,一些不同的难度等级,比如普通用户的,如果用户失败到一定次数的,付费用户是否降低难度等)

棋盘上的虫洞(冲动包括上下,以及对应编号关系)的位置,

关卡是否可以带入道具?部分关卡是不能带入道具的。

棋盘下面血瓶可以掉落的位置。

8.2 关卡的限制

关卡的可以滑动的步数

关卡的时间,限定时间完成胜利条件,(Candy Crush 有,但Anipang2没有见到)

8.3 胜利的条件

达到足够的分数。

消除所有的(一定数量)蓝冰,白雪

所有的(一定数量)血瓶掉落到最下面,

可以考虑的还有,消除所有箱子,所有锁,消除特殊颜色的道具

8.4 失败条件

目前无

8.5 Candy Crush

Candy Crush的设计里面还有很多中,甚至有一些失败条件,包括某种颜色得的消除数量,定时炸弹在一定次数没有消除爆炸等,目前在Anipang2中没有。

 【本文作者是雁渡寒潭,本着自由的精神,你可以在无盈利的情况完整转载此文 档,转载时请附上BLOG链接:http://www.cnblogs.com/fullsail/,否则每字一元,每图一百不讲价。对Baidu文库和360doc加价一倍】