game-classes
% Game Classes
Reviewed 2021-05-12 by japhb
The charts below show the inheritance relationships of the Client, Server, and UI genre and game implementation classes. Note that it is NOT necessary to use the same inheritance hierarchy at all tiers -- there will likely be different abstractions to be factored out -- though keeping the hierarchies roughly similar (except for maybe a little flatter in places) tends to reduce confusion.
MUGS::Server::
# In MUGS-Core
Game
āāā Game::Lobby
āāā Genre::Test
ā āāā Game::Echo
ā āāā Game::Error
ā
ā # In MUGS-Games
āāā ((Genre::Test))
ā āāā Game::PFX
āāā Genre::TurnBased
āāā Genre::BoardGame
ā āāā Genre::RectangularBoard
ā āāā Genre::MNKGame
ā āāā Game::TicTacToe
āāā Genre::CardGame
āāā Genre::Guessing
ā āāā Game::NumberGuess
ā āāā Game::Snowman
āāā Genre::IF
āāā Game::AdventureMUGS::Client::
# In MUGS-Core
Game
āāā Game::Lobby
āāā Genre::Test
ā āāā Game::Echo
ā āāā Game::Error
ā
ā # In MUGS-Games
āāā ((Genre::Test))
ā āāā Game::PFX
āāā Genre::TurnBased
āāā Genre::BoardGame
ā āāā Genre::MNKGame
ā āāā Game::TicTacToe
āāā Genre::CardGame
āāā Genre::Guessing
ā āāā Game::NumberGuess
ā āāā Game::Snowman
āāā Genre::IF
āāā Game::AdventureMUGS::UI::CLI::
# In MUGS-Core
MUGS::UI::Game
ā
ā # In MUGS-UI-CLI
āāā Game
āāā Game::Lobby
āāā Genre::Test
ā āāā Game::Echo
āāā Genre::BoardGame
ā āāā Genre::MNKGame
ā āāā Game::TicTacToe
āāā Genre::Guessing
ā āāā Game::NumberGuess
ā āāā Game::Snowman
āāā Genre::IF
āāā Game::AdventureMUGS::UI::TUI::
# In MUGS-Core
MUGS::UI::Game
ā
ā # In MUGS-UI-TUI
āāā Game
āāā Game::PFXMUGS::UI::WebSimple::
# In MUGS-Core
MUGS::UI::Game
ā
ā # In MUGS-UI-WebSimple
āāā Game
āāā Genre::Test
ā āāā Game::Echo
āāā Genre::Guessing
ā āāā Game::NumberGuess
ā āāā Game::Snowman
āāā Genre::IF
āāā Game::Adventure