choose-your-adventure
v1.1.1
Published
CLI template for Choose Your Adventure games
Readme
Choose Your Adventure
Choose Your Adventure is a framework for creating CLI-based adventure games. The framework is structured into three main components: Game, Chapter, and Scene. This allows you to build interactive stories with ease.
Installation
To install the package, run:
npm install choose-your-adventureUsage
Importing the Components
You can import the components from the package as follows
import { Game, Chapter, Scene } from "choose-your-adventure";Creating a Game
A Game holds multiple Chapters. Each Chapter contains multiple Scenes.
Example
import { Game, Chapter, Scene } from "choose-your-adventure";
// Create scenes
const scene1 = new Scene("dialogue", "Welcome to the adventure!");
const scene2 = new Scene("input", "Enter your name:");
const scene3 = new Scene("choice", "Choose an option:", [
"Option 1",
"Option 2",
]);
// Create a chapter
const chapter1 = new Chapter(1, "Introduction", [scene1, scene2, scene3]);
// Create a game
const game = new Game("My Adventure Game", [chapter1]);
// Play the game from the beginning
game.playFromBeginning();Components
Game
The Game class is the main entry point for your adventure game. It holds multiple Chapters.
Constructor
new Game(title, chapters);title(string): The title of the game.chapters(array): An array ofChapterobjects.
Methods
playFromBeginning(): Starts the game from the beginning.
Chapter
The Chapter class represents a chapter in your adventure game. It holds multiple Scenes
Constructor
new Chapter(id, title, plot);id(number): The ID of the chapter.title(string): The title of the chapter.plot(array): An array ofSceneobjects
Methods:
play(): Plays the chapter.
Scene
The Scene class represents a scene in your adventure game. It can be of different types: dialogue, input, or choice.
Constructor
new Scene(type, text, choices);type(string): The type of the scene (dialogue,input, orchoice).text(string): The text to display in the scene.choices(array): An array of choices (only forchoicetype scenes).
Methods
play(): Plays the scene.
Example Project Structure
choose-your-adventure/
├── src/
│ ├── game.js
│ ├── chapter.js
│ ├── scene.js
│ └── [index.js](http://_vscodecontentref_/0)
├── example/
│ └── chapters/
│ └── intro.js
├── [package.json](http://_vscodecontentref_/1)
└── [README.md](http://_vscodecontentref_/2)Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub
License
This project is licensed under the ISC License.
