The group has decided to create a card game application that allows a user to prepare and play a Solitaire game. This application will have user interaction that allows them to login to their account, play a game in single/multiplayer mode, host a new game for others to join, and so on. The program will consist of, but not limited to the following functions:
- Prepare a Solitaire game
- A collection of solitaire games that has been configured
- Methods to modify prepared games by altering its parameters
- Methods to check the information of prepared games
- Series of methods that correspond to basic game rules and mechanics in a solitaire game (i.e., number of cards drawn each time, the win condition, restrictions on which cards you can put down, etc.)
- Series of methods that correspond to basic player action in a solitaire game (i.e., drawing cards, selecting cards, putting down cards on the field/slots, etc.)
- A data collection that keeps track of player post-game results (records of time it took for the player to solve/win), along with graphical representation of the data
- A user interface for players to prepare, host and play the actual game.
- Use of an API to access basic gameplay mechanic of a poker game(includes shuffle, draw, reshuffle, add to piles, return cards to deck, get new/partial deck)
Link to API documentation: https://www.deckofcardsapi.com/
Example output of running the java code:
{"success": true, "deck_id": "pxgilavfa78t", "remaining": 52, "shuffled": true}
