Skip to main content

A comprehensive collection of classic card, paper, dice, logic, and word games with AI opponents and both CLI and GUI interfaces

Project description

Games Collection

The Games Collection brings together more than forty classic games implemented in Python. Card tables, pen-and-paper puzzles, dice showdowns, word challenges, and logic brainteasers all live in a single repository with shared engines, artificial intelligence opponents, and optional graphical interfaces.

The project targets players who want quick access to familiar favourites and contributors who enjoy extending game mechanics or experimenting with strategy algorithms.

Highlights

  • Broad catalogue – 49 playable games spanning card, paper, dice, logic, and word genres. See the Games Catalogue for the full list.
  • Multiple interfaces – Launch titles from the command line, via the games-collection menu, or with Tkinter/PyQt graphical front ends where available.
  • Reusable infrastructure – Common modules provide AI strategies, save/load support, event dispatch, replay recording, accessibility helpers, and more.
  • Educational tooling – Several games ship with hint systems, tutorials, and probability calculators that make the collection a useful teaching aid.

Installation

From PyPI

Install the published package to get the latest stable release:

pip install games-collection

Optional extras install the GUI stack and developer tooling:

pip install games-collection[gui]
pip install games-collection[dev]

From Source

Working on the codebase or trying unreleased features? Clone the repository and perform an editable install:

git clone https://github.com/saint2706/Games.git
cd Games
pip install -e .[dev]

Running games

After installation you have several options:

  • Interactive menu – Run games-collection to browse all installed titles.

  • Console scripts – Call commands such as games-blackjack, games-tic-tac-toe, or games-farkle directly.

  • Module execution – Use Python’s module runner when you want additional flags or to inspect help text:

    python -m card_games.blackjack --help
    python -m paper_games.connect_four --gui
    python -m dice_games.craps
    

Many games accept a --gui flag to launch graphical interfaces. PyQt5 is the primary GUI framework, with Tkinter available as a fallback. You can select a specific framework with --gui-framework pyqt5 or --gui-framework tkinter.

Repository layout

card_games/      Card-based titles such as Blackjack, Poker, Uno, and Hearts
paper_games/     Board and pencil games including Chess, Sudoku, and Yahtzee
dice_games/      Dice-driven experiences like Craps and Farkle
logic_games/     Puzzle boxes such as Sokoban and Minesweeper
word_games/      Vocabulary challenges including Crossword and Trivia
common/          Shared engines, AI strategies, GUIs, persistence, accessibility
scripts/         Launchers registered as console entry points
docs/            Sphinx documentation (rewritten from scratch)
examples/        Sample integrations and automation snippets
tests/           Automated test suite mirroring the package structure

Development workflow

  1. Install dependencies with pip install -e .[dev].
  2. Format code with black . and ruff check --fix . (line length 160).
  3. Run static analysis using mypy . and, optionally, radon cc ....
  4. Execute the full test suite: pytest or pytest --cov. Fixtures live under tests/fixtures.
  5. Update documentation in docs/ and add entries to CHANGELOG.md for notable changes.

Pre-commit hooks (pre-commit install) help keep commits consistent.

Documentation

This README provides a high-level summary. Detailed user and developer guides live in the Sphinx documentation. Build the HTML site with:

cd docs
pip install -r requirements.txt
make html

Generated pages will be available in docs/build/html/index.html.

Contributing

Contributions are welcome! Please open an issue or discussion to propose new ideas, then follow the steps in CONTRIBUTING.md. Remember to include tests and documentation updates alongside code changes.

License

This project is released under the MIT License. See LICENSE for full terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

games_collection-1.2.2.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

games_collection-1.2.2-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file games_collection-1.2.2.tar.gz.

File metadata

  • Download URL: games_collection-1.2.2.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for games_collection-1.2.2.tar.gz
Algorithm Hash digest
SHA256 4ae1ebf9afe123a24c3141d76b078f9573704c98ed5f34f914b3c6efbafaeecc
MD5 ff5f471ebf08abe6a2c9ed27115982ab
BLAKE2b-256 d2262ae558ce144299159c96af0f46d0f3b1aa82237a154696146343b809adcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for games_collection-1.2.2.tar.gz:

Publisher: publish-pypi.yml on saint2706/Games

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file games_collection-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for games_collection-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cbc5ce7d0f606f3d2f428e629bee2bf73677be63e3233af2f8d1b5a5f071e366
MD5 f75c11910404cfbdd1740d6ac722a5d1
BLAKE2b-256 52d583656c6802d85bf412d44685c51a4fc8cd5a25b1679f185d149443da802b

See more details on using hashes here.

Provenance

The following attestation bundles were made for games_collection-1.2.2-py3-none-any.whl:

Publisher: publish-pypi.yml on saint2706/Games

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page