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

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 AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page