Skip to main content

A simple framework for creating text adventure games.

Project description

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)

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

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.

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