• Create Account

# The Algorithm Design of Candy Crush

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

11 replies to this topic

### #1finanshow  Members   -  Reputation: 157

Like
0Likes
Like

Posted 30 May 2013 - 09:34 PM

Hi guys,

I would like to know how would you will design the core algorithm of CANDY CRUSH? Any one got idea?

### #2warnexus  Prime Members   -  Reputation: 1172

Like
0Likes
Like

Posted 30 May 2013 - 11:22 PM

You need to be more specific.

In terms of representation, they can be stored in an array or a list.

### #3finanshow  Members   -  Reputation: 157

Like
0Likes
Like

Posted 31 May 2013 - 12:14 AM

You need to be more specific.

In terms of representation, they can be stored in an array or a list.

Here what I mean is that algorithm to traverse the board to find out which candy need to be remove.

### #4BloodyEpi  Members   -  Reputation: 552

Like
0Likes
Like

Posted 31 May 2013 - 01:21 AM

Is this one of these "Match 3 in a row" games?

Just check if the two flipped objects are connected to 2 more equal objects, if yes remove all of them, if not flip back.

### #5Olof Hedman  Crossbones+   -  Reputation: 1988

Like
2Likes
Like

Posted 31 May 2013 - 01:39 AM

You could use a flood fill to find and count the objects http://en.wikipedia.org/wiki/Flood_fill

### #6finanshow  Members   -  Reputation: 157

Like
0Likes
Like

Posted 31 May 2013 - 02:18 AM

Is this one of these "Match 3 in a row" games?

Just check if the two flipped objects are connected to 2 more equal objects, if yes remove all of them, if not flip back.

Yes, It's kind of "Match 3 in a row" game.

How you got to implement this rule? Use recursion or backtracing? How to organized those objects, the board should be traverse each time.

Thanks,

### #7MatrixTan  Members   -  Reputation: 120

Like
0Likes
Like

Posted 31 May 2013 - 03:05 AM

you can use a bit map to store the types of candy. the player can change only two of them each time. so you just scan and check the ranks of them.

### #8finanshow  Members   -  Reputation: 157

Like
0Likes
Like

Posted 31 May 2013 - 03:09 AM

You could use a flood fill to find and count the objects http://en.wikipedia.org/wiki/Flood_fill

### #9MatrixTan  Members   -  Reputation: 120

Like
0Likes
Like

Posted 31 May 2013 - 03:54 AM

You could use a flood fill to find and count the objects http://en.wikipedia.org/wiki/Flood_fill

learning...

### #10CJ_COIMBRA  Crossbones+   -  Reputation: 709

Like
1Likes
Like

Posted 03 June 2013 - 05:16 AM

I am working on a match 3 game, but it also matches irregular pieces connected to the original match. For that I am using the flood fill already mentioned on the thread.

### #11finanshow  Members   -  Reputation: 157

Like
0Likes
Like

Posted 03 June 2013 - 09:28 PM

I am working on a match 3 game, but it also matches irregular pieces connected to the original match. For that I am using the flood fill already mentioned on the thread.

Thanks CJ.

### #12Dragonsoulj  Crossbones+   -  Reputation: 1976

Like
0Likes
Like

Posted 03 June 2013 - 10:25 PM

I believe I answered this kind of question before. You could search your space for 2 criteria: 2 of the same "candy" adjacent horizontally or vertically, and then see if at least a third is switchable from whichever direction the "candies" are in (horizontal or vertical). This covers the first portion. The second is looking for 2 "candies" that are in a line, horizontally or vertically, with only 1 piece that separates them. Then with that one piece, see if a piece in the opposite direction (if you are finding horizontal lines, look vertically, or vice versa) can be switched to make 3. If so, this is a match.

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS