A modular system needs to be added for all games to facilitate the scaling of the challenging process. This could mean making all games inherit from a Challengeclass .
The challenge process looks somewhat like the following:
Using a game command, you can challenge a user (you can only have one challenge per game at a time)
A challenge message is sent, notifying the other user.
Nothing happens until your opponent declines or accepts.
you are then notified and the game begins.
end sequences vary based on the game.
Specifications
The entire challenge process should be 100% reusable.
There could be a method where you pass in a Game and it returns the challenge message. That message could then be used for creating game IDs or for checking if others are either playing a game in the channel.
Should scheduling be added?
This process SHOULD also include a method for "Queuing" with other users in order to not confuse users.
Overview
A modular system needs to be added for all games to facilitate the scaling of the challenging process. This could mean making all games inherit from a
Challenge
class
.The challenge process looks somewhat like the following:
Specifications
Game
and it returns the challengemessage
. Thatmessage
could then be used for creating game IDs or for checking if others are either playing a game in the channel.