Skip to main content

A Python implementation of the Scoundrel roguelike card game

Project description

PyScoundrel

CI PyPI Docs Python Platforms

A Python implementation of Scoundrel, a single-player roguelike card game by Zach Gage and Kurt Bieg.

Installation

pip install pyscoundrel

Play

python -m pyscoundrel

# With a fixed seed (reproducible game)
python -m pyscoundrel --seed 42

# Custom dungeon
python -m pyscoundrel --dungeon my_dungeon.yaml

Features

  • Complete Scoundrel rules — monsters, weapons, potions, room avoidance
  • Clean terminal UI powered by Rich
  • YAML-based dungeon system for custom card pools
  • Agent API for automated players and strategy experiments
  • JSON event logging for game analysis
  • Random seed support for reproducible playthroughs

Programmatic usage

from pyscoundrel import GameEngine, Dungeon

engine = GameEngine(seed=42)
engine.start_game()

while not engine.is_game_over:
    engine.draw_room()
    result = engine.face_card(0)
    # inspect result.metadata to handle monsters, weapons, potions

print(f"Victory: {engine.state.victory} | Score: {engine.state.score}")

Documentation

Full documentation at pyscoundrel.readthedocs.io:

License

MIT. The original Scoundrel game is © 2011 Zach Gage and Kurt Bieg.

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

pyscoundrel-0.1.6.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

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

pyscoundrel-0.1.6-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file pyscoundrel-0.1.6.tar.gz.

File metadata

  • Download URL: pyscoundrel-0.1.6.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyscoundrel-0.1.6.tar.gz
Algorithm Hash digest
SHA256 cdc4f7497411c25c9b6c0281ecb03dabe4ea7b07d8967e1e5acadb730ee0d9d1
MD5 2391f7678945fe4ac8fd2eb6d5081620
BLAKE2b-256 634e4facc1e361d1616cb11c3a1180f710c448e4b6795eea0e68271a94cdd728

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscoundrel-0.1.6.tar.gz:

Publisher: ci.yml on jeanmidevacc/pyscoundrel

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

File details

Details for the file pyscoundrel-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pyscoundrel-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyscoundrel-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ec1d50ea83bf77ba9e5e202bd63dfbe4ad4d52cf1baf2647cdd4293dc3ada4a0
MD5 e3fbcbbe0bfc50da7f745bfc3a5c3004
BLAKE2b-256 4588bfffbe63f9687095ad667a9960f1aa420a403ab6f0a98a758feb964b7569

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscoundrel-0.1.6-py3-none-any.whl:

Publisher: ci.yml on jeanmidevacc/pyscoundrel

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