Snakes and Ladders

As a user, I want to play an online Snakes and Ladders game with my friends, so that we can enjoy a fun and interactive board game experience.

  1. Registration & Login:

    • The user can create an account with a username and password.

    • The user can log in to their account.

  2. Game Creation:

    • The user can create a new game and invite friends by entering their usernames.

    • The user can start the game once all invited players have joined.

  3. Gameplay:

    • The user can roll a virtual dice to determine their moves.

    • The user's token moves according to the dice roll.

    • If the user's token lands on a snake's head, it moves down to the snake's tail.

    • If the user's token lands on the bottom of a ladder, it moves up to the top of the ladder.

  4. Winning:

    • The user wins the game by being the first to reach the final cell.

    • The game displays a victory message for the winning player.

SQL Scripts

  1. GameBoard Table

  1. Players Table

  1. Games Table

  1. GameMoves Table

Table Summary

  1. GameBoard

    • BoardID: Unique identifier for the game board.

    • CellNumber: Number identifying each cell on the board (e.g., 1 to 100).

    • CellType: Type of cell (Normal, SnakeHead, SnakeTail, LadderBottom, LadderTop).

    • MoveToCell: Destination cell for snakes and ladders (optional).

  2. Players

    • PlayerID: Unique identifier for each player.

    • PlayerName: Name of the player.

    • CurrentPosition: Current cell number where the player's token is located.

  3. Games

    • GameID: Unique identifier for each game.

    • GameStatus: Status of the game (e.g., InProgress, Completed).

    • CurrentPlayerID: Identifier of the player whose turn it is.

  4. GameMoves

    • MoveID: Unique identifier for each move.

    • GameID: Identifier of the game to which the move belongs.

    • PlayerID: Identifier of the player making the move.

    • FromCell: The starting cell number of the move.

    • ToCell: The ending cell number of the move.

    • MoveDate: Timestamp of when the move was made.

Last updated