Starting a Game

Game Manager                            Player1        ...            PlayerN    ...     AdversaryN
    _                                     _                              
    |<------------------------------------| register for game
    |                                     |                              _
    |<-------------------------------------------------------------------| register for game
    |                                     |                              |
    |<---------------------------------------------------------------------------------------| register for game
    |                                     |                              |                   |

Playing a Round of the Game

Game Manager                            Player1        ...            PlayerN  ...      AdversaryN
    
    |                                     |                             |                  | 
    |                                     |                             |                  | 
    |------------------------------------>| take turn(state)            |                  |
    |                                     |                             |                  | 
    |<====================================| return move                 |                  |
    |                                     |                             |                  |
    |                                     |                             |                  |                          
    |                                     |                             |                  |
    |------------------------------------------------------------------>| take turn(state) |
    |                                     |                             |                  |
    |<==================================================================| return move      |
    |                                     |                             |                  |            
    |                                     |                             |                  |                         
    |                                     |                             |                  |
    |------------------------------------------------------------------------------------->| take turn(state)
    |                                     |                             |                  |
    |<=====================================================================================| return move
    |            
    |                          

The Game Manager and Player or Adversary’s interactions end if 1. the player returns an invalid move 2. the player raises an exception due to some internal error

End of Game

Game Manager                            Player1        ...            PlayerN 
    |------------------------------------>| send result
    |                                     |
    |------------------------------------------------------------------>| send result
    |                                     |                             |
    _                                     _                             _