Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

* * * , The primary final output will be the generated story, in the form of an HTML document, with links ( the tag

***, The primary final output will be the generated story, in the form of an HTML document, with links (the tag***,******, What we're talking about is Select Your Story. The principle of a SYS book is simple: for a given book you always start at the same place. However, after segments of story, the reader is then presented with a choice to make, each of which leads to a different place in the book (traditionally done via page numbers, but that's secondary). This creates branching story lines, such that not only do the myriad outcomes typically vary quite a bit, but the process of finding those end points entail very different story paths along the way.
In practice, this can be represented fairly well with a tree (in that, even when designing 'the real thing' on paper, you'd probably draw out a tree of branching decisions). e.g. skipping the actual story parts:
Note that a single page might not lead anywhere (i.e. the end of one version of the story), or it could lead to two outcomes to progress the story, or even more than that.
To that end, we'll need a general tree.
The Task:
Rather than making 'one thing', you're more making 'a set of things around one topic'.
***, You're making something to represent a complete multibranching story, to facilitate the creation of SYS stories:
At each entry, there is some piece of the story (a description of that location within the story), and anywhere from zero to possible story branches
a) It's safe to assume a 'story' will always have a root, and thus providing the initial description starting the story should probably be part of creating the story
a If it's helpful, it's fine to assume a description will be only a single paragraph
Each branch has an associated decision - simply a bit more text that will be displayed to the reader
a) As each entry (other than the root) will have been reached from precisely one path, it's probably best to group the text associated with the action that lead to an entry with that entry
A story 'ends' anywhere the reader has no more actions to take
a This means some stories could be longer or shorter than others, based on whether or not they continue leading to more entries that still have additional actions
You have a position (like a cursor) within the story. From any given point, you may:
s) See the available decisions at the current location, as well as the number of decisions here (mostly for your own convenience's sake)
a) Add new branches (decisions) from the current location
There's no direct need to help the reader 'go back' (beyond the obvious 'starting over'), but you might personally find later tasks easier if you include something to act as 'bread crumbs' *** You'll need an Editor for creating and adding to the story, which will need:
The ability to load/save, since nobody wants to write all of that at once
The ability to export to a browsable HTML document (more below)
A mechanism for both browsing and editing existing entries The ability to add new actions to any existing entry
a) Note that adding an action doesn't move into that action (meaning, at some location, you can easily add multiple story branches to it)
, The ability to delete an entire subtree of actions (basically, if you're at some entry and choose to delete from that location, then every additional entry that entry led to should also be discarded)
The ability to browse across 'story ends' (to make it easier to extend stories)
***, The primary final output will be the generated story, in the form of an HTML document, with links (that tag) to the associated decision
- each 'story end' needs a link back to the start of the story
- for the sake of clarity: this document is effictively all possible stories.
In terms of implementation:
The story doesnt need a method for going up, but its up to you if you'd prefer to allow for a parent reference at each story node
*** You add 'branches' by adding children to whichever node is currently referenced by the cursor. If you want to add 'sibling paths', that's done by adding more children to the parent
This also means there's no way to accidentally add siblings to the root node
When adding additional children to a node that already has one, add new branches after the existing ones
*** The ability to browse across story ends just means it can jumpthe cursor to the next node that has a null reference for its first first child. - this ones tricky, so make sure you include some mthing even if you cant get It
I need the code in java without using arrays or lists. It should be done exactly based on the guidelines provided.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Visualizing Health And Healthcare Data Creating Clear And Compelling Visualizations To See How Youre Doing

Authors: Katherine Rowell ,Lindsay Betzendahl ,Cambria Brown

1st Edition

1119680883, 978-1119680888

More Books

Students also viewed these Databases questions

Question

plan and structure your literature review;

Answered: 1 week ago

Question

Tell the merits and demerits of Mendeleev's periodic table.

Answered: 1 week ago

Question

Persuasive Speaking Organizing Patterns in Persuasive Speaking?

Answered: 1 week ago