You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The entry class for this application is Program(Program.cs)
RandomCardGenerator
This project is a library-type project that contains the business logic of the game.
State Design pattern is used
Please have a look at the state transistion diagram (inside Design folder) to understand the state transistions of the game before looking at the state machine code
The entry class for this library is RandomCardGenerator (RandomCardGenerator.cs), which load StateMachine.
Logger
This project is a library-type project that contains logging and recovery management logic.
This library is used for logging, saving the state of the game and recovering it
This has a static implementation of classes
About the game
User can draw a card from a shuffled deck of 52 cards
User can reshuffle the deck
User can reset the game where it will reshuffle the deck along with the drawn card
User can save the state of the game and later recover it
Features/changes to the application that are pending
Online multi-user functionality - multiple users can join a single session of this game
Session based gaming - user can save the session. This can be done now by manually storing the recovery file after saving the game
Undo - user can undo the last action by restoring the last state of the game
UI state machine - implementation of state machine for UI for more informative and interactive experience
Multi threading implementation for better performance