Lab 9: Text-Based Interfaces
Bard College – Computer Science – Object-Oriented Programming

In this lab you will create a text-based interface to a Java program—without Processing!

You can either write a text-based game or a text-based interactive spelling bee, similar to what we did earlier in the term.

Option 1: Text-Based Game

Create a text-based game like Oregon Trail or Colossal Cave Adventure. Think back to your Twine workshop during L&T where you created small text-based games or interactive fiction.

You should use the Scanner class (see below) to prompt the user for input from standard input.  

YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING.
AROUND YOU IS A FOREST.  A SMALL STREAM FLOWS OUT OF THE BUILDING AND
DOWN A GULLY.

go south

YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A    
ROCKY BED.

Break your game up into multiple classes, for example you might have different classes for different types of rooms or dungeons in your game world. 

BONUS: provide the ability to save the game state, or a high-score, to a file and load it back into the program when it restarts.

Before starting coding,be sure to write out a plan/diagram of describing your game world.

Option 2: Interactive Spelling Bee

Create a program to play NYT’s Spelling Bee puzzles.

Your program should: 
  1. prompt the user for a solution word;
  1. tell the user if the word satisfies the puzzle;
  1. if not, give them a nice error message to explain what they did wrong;
  1. keep a running tally of the score;
  1. BONUS: be able to save & load puzzles (and partial solutions) from text-files.

NOTE: The String and ArrayList classes will be useful.

For example:

java SpellingBee puz1.txt 

Welcome to Spelling Bee!

Enter quit! list! shuffle! save! create! load! 
center letter = n         outer letters = [c, e, x, r, p, i]         score = 23
list!
experience
prince