Non Trivial Steps Identification (Use Cases) - Muktan/Board-Game-Framework GitHub Wiki

Non-Trivial Steps Identification (Use-Cases)

  • UC1: Initiate the game
    • High level usecase:
      • TUCBW: The player selects the game to start.
      • TUCEW: The player sees the board game displayed on the user screen.
    • Expanded usecases:
      UC1: Initiate the game
      Precondition: The system will be in ideal condition waiting for the user selection for the game
      Actor: The Player System: Game App
      1. TUCBW: The player selects the game to start. 2. System prompts the user with the form which displays the other parameters required to initiate the game.
      3. Player fills in the details (duration, players, etc.) regarding the game *4. As per the player input the system initiates the board game and displays the board ready for player to play their first move
      5. TUCEW: The Player sees the board game displayed on the user screen.  
      Postcondition: System will be in the playing mode, taking the input from the playes of the game and simulating the selected board game.
  • UC2: Play the game
    • High level usecase:
      • TUCBW: The player or one of the opponent makes a move
      • TUCEW: The player sees end game prompt
    • Expanded usecases:
      UC2: Play the game
      Precondition: The system will have details of the player playing the game.
      Actor: Player System: Game App
      1. TUCBW The player or one of the opponents makes a move *2(a). The system will validate the move (TUCCW UC3)(as per game rule), if the rule is invalid then the system will prompt the user to make a legal move.

      *2(b). The system will check if the game has ended (TUCCW UC4)(as per game rule), if the game has ended the system will prompt the winner of the game. If the game continues the next player will make the move and the steps 2(a) and 2(b) will be repeated.
      3. TUCEW: The player sees end game prompt  
  • UC3: Validate the move
    • High level usecase:
      • TUCBW: The player enters the required inputs to make a move.
      • TUCEW: The next player is prompted for the move to make.
    • Expanded usecases:
      UC3: Validate the move
      Actor: Player System: Game App
      1. TUCBW The player enters the required inputs to make a move. * 2. The system will check various conditions to check if the move (piece that is moved, from location, to location) is possible according to specific game logic
      3. TUCEW: The next player is prompted for the move to make.  
  • UC4: Check End Game
    • High level usecase:
      • TUCBW: The player enters the required inputs to make a move.
      • TUCEW: If Game ends the results are displayed onto the screen
    • Expanded usecases:
      UC3: Check End Game
      Actor: Player System: Game App
      1. TUCBW The player enters the required inputs to make a move. * 2. The system will check various conditions to check if the game ends (timer is up, next move not possible) according to specific game logic
      3. TUCEW: If Game ends the results are displayed onto the screen  
  • UC5: Undo Move
    • High level usecase:
      • TUCBW: The player clicks undo move option.
      • TUCEW: Player move is undone and player is promted to move again
    • Expanded usecases:
      UC5: Undo Move
      Actor: Player System: Game App
      1. TUCBW The player clicks undo move option. * 2. The system will restore the previous state of all the game components.
      3. TUCEW: Player move is undone and player is promted to move again  

NOTE: The steps starting with the "*" symbol are the non-trivial steps.

⚠️ **GitHub.com Fallback** ⚠️