Architecture
The architecture currently used is MVC. However if the things go beyond then the architecture can be mixed into MVC+Facade
Classes
SLStartVC
This consists of a simple snakes and ladders background with a play button. Play button tap will lead to Game and Player Details Screen
SLPlayerGameDetailsVC
This class consists of game settings which include taking the input from user:
- No of lines
- Players Names
Conditions: The no of lines can be between 3-7 and no of players can be maximum 4 and minimum 2 On tap on play button it will lead to Main Game play screen
SLPlayVC
- This consists of main game play. It includes the basic game logic. 4 players upto max can play the game.
- There is a power label for each ladder and snake consisting block which indicates the player can move up and down to a certain block number respectively
- On 6 of dice, the player currently playing will get a chance again to throw the dice.
- Player reaching first to the last value block is declared as a winner and will move to Winning Screen
SLWinningVC
This consists of a simple congratulations label with a winner name
There is button Play Again which will again move the screen to Play scene with all settings reset.
Managers
Currently using two managers
GameManager - Which handles some game logic
SoundManager - Which handles sound in the game logic