/** * A simple Turtle drawing program * * @author Pat Troy: troy AT uic DOT edu */ // add import statements to get items from Java libraries import java.awt.Color; // Note the name of the class in the following line MUST // match the name of the file. public class Lect0922b { public static void main (String[] args) { System.out.println("Begin Java Exection"); System.out.println(""); // put your Java Program here // Step 1. Create the world //String filename; //filename = FileChooser.pickAFile (); //System.out.println (filename); Picture p; //p = new Picture (filename); p = new Picture (640, 480); Turtle t; t = new Turtle (p); t.setPenWidth (5); drawOctogon (t, 10 ); moveTurtle (t , 40, -40 ); drawOctogon (t, 15); moveTurtle (t, -80, 0 ); drawOctogon (t, 15); moveTurtle (t, -20, 60 ); drawOctogon (t, 80); // Final step, Show the world the turtle lives in p.show(); // save the picture to a file String outFileName; outFileName = FileChooser.pickAFile(); p.write ( outFileName ); System.out.println(""); System.out.println("End Java Exection"); } // end of method main public static void drawSquare ( Turtle tParam ) { int count; int numSides; int degrees; numSides = 4; degrees = 360 / numSides; count = 0; while ( count < numSides) { tParam.forward (150); tParam.turn (degrees); count = count + 1; } } public static void drawSquare2 ( Turtle tParam , int length) { int count; int numSides; int degrees; numSides = 4; degrees = 360 / numSides; count = 0; while ( count < numSides) { tParam.forward (length); tParam.turn (degrees); count = count + 1; } } public static void drawOctogon ( Turtle tParam , int length) { int count; int numSides; int degrees; numSides = 8; degrees = 360 / numSides; count = 0; while ( count < numSides) { tParam.forward (length); tParam.turn (degrees); count = count + 1; } } public static void drawOctogon ( Turtle tParam , int length, Color c) { int count; int numSides; int degrees; Color existingColor; numSides = 8; degrees = 360 / numSides; count = 0; // save the current pen color existingColor = tParam.getPenColor(); tParam.setPenColor (c); while ( count < numSides) { tParam.forward (length); tParam.turn (degrees); count = count + 1; } // reset the pen to the original color tParam.setPenColor (existingColor); } public static void moveTurtle ( Turtle tParam, int xDelta, int yDelta ) { tParam.penUp(); int currentX = tParam.getXPos(); int currentY = tParam.getYPos(); int newX = currentX + xDelta; int newY = currentY + yDelta; tParam.moveTo ( newX , newY ); tParam.penDown(); } } // end of class