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.7.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.7-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyscoundrel-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 d1d37c4e764958a1b55146a4c8f3d5eca07e6e84bd9d859f9006467333e8764c
MD5 007e9e22cdcf9b32841cea2a07741bae
BLAKE2b-256 88092326d2745581fbe04a138c7125f79b07e7af296d89662ecb54183f47c3df

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscoundrel-0.1.7.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.7-py3-none-any.whl.

File metadata

  • Download URL: pyscoundrel-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 654e85cb1981bba08c4ffb966120685f2f7d37517bea0a1ed5d97035ea396d89
MD5 bff051618aaccbe2dcbcacfed41a67e0
BLAKE2b-256 2cf3ff810116c2e05398f1b6898711d1407cbd20e8be5868270d2ad2d051795a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscoundrel-0.1.7-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