
They have hired you to design and implement some of the classes needed for an application named FullScreen that can be used to write screenplays.
Transition
Location
TimeOfDay
Set
SceneDescription
StageDirection
Voicing
Dialogue
ScreenPlay
ArrayList or other collection.
Note that this driver makes some assumptions that will constrain your design options somewhat. Specifically, it assumes:
Screenplay class with an explicit
value constructor that is passed the title of the screenplay.
Screenplay objects have one or more
add() methods that is/are used to add elements to the
Screenplay.
Screenplay objects have a format()
method that returns an appropriately formatted String.
Set class with an explicit value
constructor that is passed a description and what appears to be either
a Location or a "constant" in the Location
class.
Set class has a getNumberOfSets()
method.
Location.INTERIOR and Location.EXTERIOR
are meaningful values.
Transition.CUT_TO, Transition.DISSOLVE_TO,
Transition.FADE_IN and Transition.FADE_OUT
are meaningful values.
TimeOfDay.DAY and TimeOfDay.EVENING
are meaningful values.
Voicing.NORMAL, Voicing.OFF_SCREEN,
and Voicing.VOICE_OVER
are meaningful values.
SceneDescription class with an explicit value
constructor that is passed a Set and what appears to be either
a TimeOfDay or a "constant" in the TimeOfDay
class.
Dialogue class that has an explicit
value constructor that is passed the name of the character, a
boolean indicating whether it is continued or not, a boolean
indicating whether there is more dialogue or not, instructions, a
voicing, and the words/text. This class also has an explicit value
constructor that is passed just the name of the character and the
words/text.
A writer at Lexicality typed the screenplay for "My Wonderful Professor" using a word processor so that you would have an idea of what it should look like. Note that this example is not guaranteed to be correct since it was typed by hand. Your output must conform to the requirements in the various textual descriptions.
Screenplay
----------
FADE IN:
INT. JMU OFFICE DAY
FRED
I wonder if you can help me. My program
is practically working. All I have to do
is
(MORE)
PROF. HARBERN
Of course I can help, that's what I'm
here for.
PROF. HARBERN
(to offscreen)
Bob, please hold all of my calls. I need
to focus my attention on Fred.
BOB (O.S.)
Of course, Prof. Harbern.
FRED (CONT'D)
All I have to do is fix 4 or 5 methods
in one class and write 7 other classes
and the driver. Of course...
(MORE)
Prof. Harbern walks around the desk to look at Fred's laptop. The look on Prof.
Harbern's face can only be described as nurturing.
PROF. HARBERN
You're right, you are practically done.
Why don't you compile and execute what
you have so I can see what's going on.
FRED (CONT'D)
Nothing compiles yet, but that's because
Java is all messed up. It keeps telling
me that there is a problem with my
cymbal or bass drum or something. And,
I'm not even using any cymbals or drums.
PROF. HARBERN
Java often makes mistakes about
percussion instruments. Let's see...
(MORE)
Prof. Harbern compiles Fred's code.
PROF. HARBERN (CONT'D)
Well, it's good that you've only written
9 lines of code so far. If you had
written more it would make it much more
difficult to find the problems. In this
case, Java's telling you that you have
an unidentified symbol.
FRED
(sounding stressed)
That's what I tried to tell the lab
assistant, but she wouldn't listen.
PROF. HARBERN
You sound a little stressed Fred. Let's
take a walk.
CUT TO:
EXT. THE CS/ISAT BUILDING EVENING
FRED
(sounding relaxed)
Dude, it's good to get out of that
building. I've been in the lab for
almost 20 minutes.
PROF. HARBERN
Since you're so close and this is such a
small problem, I don't see any reason
for you to bother with 'SUBMIT'. I'll
just give you a 100. Nice job!
NARRATOR (V.O.)
Fred, happy that he had been treated
fairly, went home to watch TV.
DISSOLVE TO:
INT. JMU OFFICE EVENING
PROF. HARBERN
I have a great job. It's so rewarding to
work with students who really want to
learn. And what could be better than
knowing that they'll earn more than I do
within a few years. Life is good!
FADE OUT:
Set Summary
-----------
2 sets need to be constructed.
Copyright 2011