Pocket Beasts A Deck Building Game : 1473856

New players each start with 15 Health and 1 Mana to spend on playing cards.
At the start of the game each player draws 4 cards from their deck to hand.
Players each take turns. Each turn consists four phases:
Add mana (mana increases by one each turn and replenishes in full).
Draw a card.

Cycle through your cards in play (if any), choosing whether to attack.
a. Attacking the other player directly with your card inflicts damage to their health equal to the attack power of the card.
b. Attacking another players beast will damage both cards (equal to their attack values).
c. Any beast with <= 0 health is removed from the play field and placed into the graveyard.Play cards from hand.

Applicable Attributes

Card
Deck
Graveyard
Hand
Inplay
Player

Relationships of the Applicable Attributes to Each Other

The cards will be connected to each of the other entities. The player will be directly associated with the cards since picking will be done by the player.
The deck will be calling the card entity to populate the next card during the game play.
In case a player loses the game he will be sent to the graveyard and be inactive during the game.
The hand entity will communicate directly with the cards. Player will be using the entity to clear the available card before the next game is played.
The inplay entity will hold the game currently ongoing. Therefore, it will be communicating directly with the player, hand, deck and card entity.

Design Pattern

The design patterns to be used in this game will be Observer.
Observer design will be used to determine the areas in the code that are missing like the ability to allow several players to play the same game.
The code given does not include all the required attributes and has some functional gaps that can be identified by the observer.
The design patterns will be best suitable in designing the classes that represent the decks of cards.

Game Rules

The game can be played by more than one person.
Each member can only play when their turn comes.
The player can start the game by requesting a card.
If the player does not get the desired card during the game, he/she can go fishing.
A player will have to take all cards valued to the card given if the computer does not have the desired card.
Players have two chances to request a card during the play.

Keys for Each Card

Each card will be represented by a unique initial(s) to distinguish the different keys. The below cards will be represented as follows:
Mana Cost will be represented by initial M.
Card identifier Cost will be represented by initials ID.
Attack will be represented by initial A.
Health will be represented by initial H.

Application of the System

The game will not be endorsing or promoting gambling but will be made for entertainment purposes.
The game will not require personal details from the player but will allow the user to use already customized players in the system.
The application will be available on Google Play and on the browser.
The game will be customized such that it can be played by people from different locations.