CS 101 - Intro to Computing, Fall 2011

Lab 5

Lab Assignment

Due: Thursday 9/29/2011 by 11:59 pm

For this lab assignment, complete the following:

  1. Using the turtle drawing features, create an picture that contains a set of concentric shapes. The shapes can be any that you want (squares, octagons, triangles, etc). For this lab, each smaller version of the shape must be completely inside of the next larger size of the shape. An example of this is using a square as follows:

    or

    or the following using a hexagon

    The above have the center of each shape in the same place while the following two do not have the center in the same place.

    or

    Your set should have the shape repeated at least 8 times with the sides of each shape being slightly longer that the one closer to the center. The loop variable that keep track of how many shapes to draw was used to calculate the length of each side.

    The key to this lab is to move the turtle to the proper location (with the pen UP!) after one shape is drawn and before the next shape is drawn. For the shapes shown above, the starting/ending point of each shape is the lower left corner. The turtle moves left by a certain amount and then down by that same amount to get in position to draw the next shapes. Another approach would be to draw the shape starting from the center of a line for one of its sides. This approach would make the drawing of the shape harder, but then you only need to have the turtle move over to the side between the drawing of each shape.

  2. Your drawing of the shape MUST BE DONE IN ITS OWN METHOD! This method is to draw the shape once every time it is called. Thus to draw eight shapes, you will need to call this method eight times from the inside of a loop. Since the length of the sides of the shape must change with each drawing, you will also need to send the method a parameter that indicates the length of each side of the shape. You must use the loop counter variable to help determine the parameter value for the length of each side of the shape.

  3. The picture for the drawing can initialy be blank or be an picture selected by the user. After you are done drawing the picture, you are to prompt the user for a filename and store/save/write the picture in that file. You should use the pickAFile() method from the FileChooser class when prompting the user for the filename to store the picture. The write() method of the Picture class is used to store/save/write a picture to a file. Check out the code in Lect0922a.java for an example of this code.

  4. Be sure to change comment with the name of the author to contain the following:

How assignments should be submitted

You are also to submit the Java file electronically via the Assignment link in Blackboard for this lab. You are to name your file with the lab number and your netID. Please only submit source code file (the .java file, not the .class file nor the .java~ file).