This Python repository provides a program to simulate and identify sets of cards from the game "Set." The primary goal of this project is to create an application that allows users to take pictures of a collection of Set cards and use image recognition to identify and output the possible sets within the cards.
The project is divided into several components:
-
Card Simulation: The program simulates a deck of Set cards. Set cards have four distinct features: color, shape, number, and shading. The simulation creates a deck of cards with all possible combinations of these features.
-
Set Identification: The core functionality is to identify sets within a given collection of cards. This involves analyzing the features of each card and determining if they form a valid set according to the rules of the game.
-
Image Recognition (Work in Progress): The project aims to incorporate image recognition capabilities. Users will be able to take a picture of their collection of cards. The application will then process the image and determine the sets present, providing the user with this information.
- Python 3.8
Follow these steps to get started with the project:
- Clone this repository:
git clone https://github.com/PnkUncrn/Set- Navigate to the project directory:
cd Set- Install the required dependencies:
pip install -r requirements.txt- (Optional) To simulate a deck of Set cards and find sets:
python main.py simulate- (Work in Progress) For image recognition, use the following command (once implemented):
python main.py recognize --image path/to/your/image.pngAdd usage.
If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/new-feature. - Make your changes and commit them.
- Push to your fork and submit a pull request to the
mainbranch of the original repository. - Be sure to include clear commit messages and comments in your code.
Note: This README serves as an initial guide. As the project evolves and image recognition is implemented, make sure to update and improve this documentation accordingly.