Create a “Match-3” style game where players swap crystal positions to place like-coloured crystals together in order to destroy them and gain points.
Crystals are arranged in a grid formation. The player selects a crystal to and then selects an ADJACENT crystal. If the swap would result in a string of 3 or more crystals of the same colour, the swap is considered valid.
If the swap is invalid, the crystals return to their original position and the move is disregarded.
If a valid swap is made, all crystals in the resultant string of crystals are destroyed. The newly formed gap in the grid is closed by all non-destroyed crystals shunting along in the grid. Once all crystals are shunted, the grid is “topped up” with new crystals of random colours. This entire process is called a “cascade”.
If a cascade creates a new string of 3 or more like-coloured crystals, the string is destroyed and another cascade occurs. The cascade process repeats until no more strings are created.
Project Requirements :
1. The game board is an eight-by-eight grid.
2. Crystals can be one of up to SIX colours (different characters can be used instead) – Red, Green, Yellow, Blue, White, and Purple.
3. Top-up crystals are added from the TOP edge of the board.
4. The game ends when no more valid swaps can be made.
5. An intermediate scoring system is in place:
3-string crystal destroyed 50
4 string crystal destroyed 100
5-crystal string destroyed 500
6-crystal string destroyed 2500
T-shape string + (value of largest string destroyed * 3) T-shape created from a 3-string & 3-string:
+(50 * 3)
= 150 points
T-shape created from a 3-string & 5-string:
= 7500 points.
Cascade + (50 * (number of cascades to the power of 2)) Single cascade:
+(50 * (1^2))
= 50 points
+(50 * (3^2))
= 450 points
5 x cascade:
+(50 * (5^2))
= 1250 points
1. The Game Project will be written in C++ using Visual Studio 2015 as "Win32 Console Application". No additional engines or libraries.
2. The game board grid must be at least a single row of eight spaces.
3. Crystals can be any one of at least THREE colours (different characters may be used instead of colours). The following colours must be used: Red, Green, Yellow. It is recommended that if your game board is of a single row of eight spaces, you limit the number of colours to just three to allow for a playable game.
4. When a string of crystals is destroyed, the remaining crystals MUST cascade. Top-up crystals are added to the board from an edge (for basic requirements, we recommend the RIGHT edge).
5. The player must be allowed to exit the game.