Skip to main content

Pyventure is a simple library for creating a text adventure with Python

I created this library with and for my son for him practice coding, using pip, and importing libraries.

Installation

python -m pip install pyventure

Tutorial

Pyventure handles the game logic; all the user needs to do is create Place objects. Each Place object represents a location on the game map. It is the game space which includes things with which the player can interact.

A Place object is created by providing four parameters:

  1. a string name required
  2. a string description required
  3. a list of Features
  4. a list of Nodes

Example of a playable game with two places to move between

from pyventure.place import Place, Feature, Node
from pyventure.items import Clue, Consumable, Tool
from pyventure.game_loops import start
from pyventure.message import msg

LIVING_ROOM = 'Living Room'
KITCHEN = 'Kitchen'

living_room = Place(
    name=LIVING_ROOM,
    description="There is a door on your [u]left[/u] and a pencil on the carpet.",
    features=[
        Feature(
            name='pencil',
            interact_msg='It is a no. 2 Pencil',
            takeable=Tool(
                name='pencil',
                risk=0,
                uses=10,
                description='it could stand to be sharpened',
                total=1
            )
        )
    ],
    nodes = [
        Node(
            name='left',
            place_name=KITCHEN,
            travel_msg='You open the door and stop into the kitchen.',
            accessible=True
        )
    ]
)


kitchen = Place(
    name=KITCHEN,
    description="The floor is dirty. You're afraid of what is in the refridgerator.",
    features=[],
    nodes = [
        Node(
            name='living room',
            place_name=LIVING_ROOM,
            travel_msg='You are back in the living room.',
            accessible=True
        )
    ]
)

all_places = {
    LIVING_ROOM: living_room,
    KITCHEN: kitchen
}


if __name__ == '__main__':
    msg.narrate('Welcome to a Simple Game')
    start(new_game_msg='Name your character: ', all_places=all_places)

Download files

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

Source Distribution

pyventure-0.1.1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

pyventure-0.1.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file pyventure-0.1.1.tar.gz.

File metadata

  • Download URL: pyventure-0.1.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.10.2 Windows/10

File hashes

Hashes for pyventure-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a5fce2a4bb2eb78d7b149a2cc83c84e65f186fb9187b061f21cca008ae173b7d
MD5 272263f273e4f14972e52ced9edadc43
BLAKE2b-256 769b4eeb84d799b9d77af0e9b558b536c29686a2882b66532a4c664629f67958

See more details on using hashes here.

File details

Details for the file pyventure-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyventure-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.10.2 Windows/10

File hashes

Hashes for pyventure-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c68c0228e17fc769d2940d8fdac24c5fc021030aae5d9c6d917a2c6899c4b59b
MD5 d657d9f942e6cf7fc95d7f6ae4d5811d
BLAKE2b-256 87f7e78f068b7596d03838eb869cbcbe0596a0133ec5108bd0735ef872607b7e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

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