1. How to run
- Main class for running the application.
- First prototype of the app used for debugging. There you can understand how to use deck and hand classes.
- Class for storing settings of the app.
- Class for storing data about card including value, suit and image. Also contains method for serialization.
- Class for storing data about deck of cards. It is used for storing cards, shuffling them and drawing them to hands. Also, it contains logic for creating cards and adding images to them.
- Class for storing player's hand. It is used for storing cards, drawing them and checking if hand is empty.
- Class for drawing cards on screen.
- Enum for storing suits of cards.
- Class for storing data about prediction including player and amount of steps till win.
- Class for predicting player's win. It is used for predicting player's win based on his hand, and hand of his opponent.
- Class for saving and loading game progress. It is used for saving and loading game progress.
Contains classes for visual representation of the app. Mainly it's responsible for getting cards images from one image.
-
Class for getting cards images from one image.
-
Class that was used for debugging. It is used for getting cards images from one image and drawing them on screen.
- Create Hand class (Danila)
- Create Deck class (Danila)
- Create Images system for drawing cards (Danila)
- Create system for drawing cards on screen (Danila)
- Create system for game process (Danila)
- Create Predictions system (Danila)
- Create Spoiler system (Danila)
- Create menu buttons (Danila)
- Create Restart button (Danila)
- Create Save system (Danila)
- Create autoplay button (Danila)
- Create Test class for fast testing (Danila)
- Create CI workflow for automate testing on push (Danila)
- Create CI workflow for automate exe building on pull request into release branches (Danila)
- Create Avatars for users (Vasiliy)
- Create about bar (Kyrylo)
- Create sound effects (Kyrylo)
- Create exit button (Kyrylo)
- Based on OOP no static methods allowed except lambdas.
- All variables should be private.
- Use inheritance and abstract.
- Use Array or List to save data.
- Uses file saving to save the game progress.
- Uses the random to shuffle and distribute the deck.
- Use an Array or list to save the user's information.
- Create Graphical user Interface.
- The GUI must have a menu bar which had at least the following:
- (New) for the new Game
- (Save) for saving the Game
- (Open) to open the saved game.
- Code must have comments.
- Code must not be copied, or AI generated.
- UTF 8 character coding.
- Project must show your names, in the about Menu Bar.
- All used images must be included in the Images folder, in your Project.
- You can add sound effects if you would like to game.
- You can download card images from the Internet or create your design.
