Skip to content

rishabh00100/card_game_29

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

card_game_29

Coding my all time favourite card game "29" on python

The reason I picked up this project:

  1. It involved various complex stages like bidding, playing, score counting which gives me oppotunity to explore different approaches to execute complex logics
  2. It gives me opportunity to gain command on concepts like object oriented programming, recursion, nested classes, inheritance

Learnings from this project:

  1. Extensive use of OOPs to create instances of cards, players, bidding rounds, playing rounds
  2. 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

Rules of the game:

https://www.pagat.com/jass/29.html

TODOs:

  • 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

Installation Guide:

  1. Clone the repo
  2. Create a conda env and install all the dependencies using the environment.yml file

Start Playing the game:

  1. Navigate to the root of the repo using terminal
  2. Run python3 Module.py

Demo:

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages