Choose Your Own Adventure
Back in the 80s and early 90s, there were a set of books that let you "Choose Your Own Adventure" - books that started on page 1 but didn't read sequentially. Each page had a description of the "location" you were in and the offered the reader a set of choices on what to do next. Each choice had a page to which the reader was to turn if they selected that choice. So the book changed each time you read it depending upon what choices you made.
We'll model this type of book. First, we'll have a PAGE class that contains a NAME, then some TEXT, and then a list of CHOICES.
A CHOICE class contains a DESCRIPTION as well as a DESTINATION. The destination refers to another page.
Once these classes are defined, we can create a Window form that presents the user with the ability to create and modify new pages. Each page offers the ability to create new choices - which in turn point to other pages.
Once the user builds the pages and choices, we can write an algorithm to build the book - automatically randomly ordering the PAGE objects and placing numbers on them (so that we could print and bind the book).
This ZIP file contains the project (although not complete) that we'll discuss and build upon in class. Review the classes and code and be prepared to discuss them.