The reason I picked up this project:
- It involved various complex stages like bidding, playing, score counting which gives me oppotunity to explore different approaches to execute complex logics
- It gives me opportunity to gain command on concepts like object oriented programming, recursion, nested classes, inheritance
- Extensive use of OOPs to create instances of cards, players, bidding rounds, playing rounds
- Wanted to execute a quick GUI implementation for this game as my main goal is to focus on training the AI. I tried to use Unity and Kivy, but these tools are require significant learning curve and was not aligned to my goals for this project. So, I decided to create the GUI using OpenCV
https://www.pagat.com/jass/29.html
- Bidding stage
- Playing stage
- Command Line Based UI
- Add GUI to the game
- Make Shuffling more humanistic instead of using random functions
- Pass on used decks to start next match rounds
- Train RNN models in unsupervised manner to eventually be used as an AI player for this game itself
If you are a aspiring programmer/Data Scientist and wish to contribute to this project, feel free to get in touch
- Clone the repo
- Create a conda env and install all the dependencies using the environment.yml file
- Navigate to the root of the repo using terminal
- Run
python3 Module.py