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