// Drawing polygons with turtles. // Created by Stanzi on 11/9/97 // Updated by Lyn on 4/12/98 // Updated by Stella 11/07 import java.awt.*; // Import Abstract Window Toolkit import java.applet.*; // Import Applet stuff public class PolygonWorld extends TurtleWorld { ParameterFrame params; String parameterNames [ ] = {"Sides", "Length"}; CheckboxGroup checkboxes = new CheckboxGroup(); //Checkbox tailBox = new Checkbox("polygonTail", checkboxes, true); Checkbox whileBox = new Checkbox("polygonWhile", checkboxes, false); Checkbox forBox = new Checkbox("polygonFor", checkboxes, false); public void setup() { params = new ParameterFrame("Polygon Parameters", 150, 125, parameterNames); Panel northPanel = params.getNorthPanel(); northPanel.setLayout(new GridLayout(2,1)); //northPanel.add(tailBox); northPanel.add(whileBox); northPanel.add(forBox); params.show(); } public void run() { PolygonMaker polly = new PolygonMaker(); int sides = params.getIntParam("Sides"); int length = params.getIntParam("Length"); /* if (tailBox.getState()) { polly.polygon(sides, length); } else */ if (whileBox.getState()) { polly.polygonWhile(sides, length); } else { // if (forBox.getState()) polly.polygonFor(sides, length); } } //------------------------------------------------------------------------------ // The following main method is needed to run the applet as an application public static void main (String[] args) { runAsApplication(new PolygonWorld(), "PolygonWorld"); } } class PolygonMaker extends Turtle {//extends TurtleWorld { // while loop implementation public void polygonWhile(int sides, int length){ double angle = 360.0/(double)sides; while (sides > 0) { fd(length); lt(angle); sides = sides - 1; } } // for loop implementation to draw a polygon public void polygonFor(int sides, int length){ double angle = 360.0/(double)sides; for (int s = 1; s <= sides; s=s+1) { fd(length); lt(angle); } } }