Lab 2: Methods
Download lab2.zip. Open Lab2.java in DrJava.
All the code you write for this assignment should be written in this
file.
The purpose of this lab is to test how well you can break down complex
problems into short and meaningful methods. As much as possible, you
should aim to minimize duplicate instruction sequences by declaring
appropriate well-named methods. As a rough guideline, each method
you declare should typically contain fewer than 10 statements.
For each additional method that you declare, include before/after
comments.
Exercise 1: cleanSquare
In this exercise, the robot initially finds itself in the following
situation:
Complete the cleanSquare method, so that it makes all the
dark cells light. After cleanSquare runs, the world should
appear as follows (with the robot in any position, facing any
direction):
Be sure to break the problem down into appropriate and well-named
helper methods.
Exercise 2: darkenComb
In this exercise, the robot finds itself in the following comb-shaped
world:
Complete the darkenComb method, so that it makes all the
cells dark. After darkenComb runs, the world should appear
as follows (with the robot in any position, facing any direction):
Be sure to break the problem down into appropriate and well-named
helper methods.
Exercise 3: makeCheckered
In this exercise, the robot finds itself in the following empty
world:
Complete the makeCheckered method, so that it darkens half
the cells to form the checkerboard pattern shown here (leaving the
robot in any position, facing any direction):
Be sure to break the problem down into appropriate and well-named
helper methods.
Challenge
Create a robot world .txt file that contains a large rectangular
region of light-colored cells. Create a file called Clock.java. In
it, declare a method called showTime, which should darken
some of the cells so as to look like the time on a digital clock. For
example, you might display the time 10:59 as follows:
However, your code must be written in such a way so that it can show
any time on a 12-hour digital clock. And, by changing only the
code in the showTime method itself, you should be able to
re-program your method to show any time in less than 10
seconds.