// CSI program to draw a simple bridge // Second attempt - uses constants! import objectdraw.*; import java.awt.*; public class BuildBridge extends WindowController { // specifications that control road's shape // coordinates of road's corner private static final int ROAD_LEFT = 50; private static final int ROAD_TOP = 50; // dimensions of road private static final int ROAD_LENGTH = 300; private static final int ROAD_HEIGHT = 30; // Dimensions of supports private static final int SUPPORT_WIDTH = 50; private static final int SUPPORT_HEIGHT = 100; // Coordinates and dimensions derived from specifications // Coordinates and dimensions of support private static final int SUPPORT_TOP = ROAD_TOP + ROAD_HEIGHT; private static final int SUPPORT_SPACING = (ROAD_LENGTH - 2*SUPPORT_WIDTH)/3; private static final int LEFT_SUPPORTS_LEFT = ROAD_LEFT + SUPPORT_SPACING; private static final int RIGHT_SUPPORTS_LEFT = LEFT_SUPPORTS_LEFT + SUPPORT_WIDTH + SUPPORT_SPACING; protected void begin() { //Instructions to construct the road new FilledRect( ROAD_LEFT, ROAD_TOP, ROAD_LENGTH, ROAD_HEIGHT, canvas); new FramedRect( LEFT_SUPPORTS_LEFT, SUPPORT_TOP, SUPPORT_WIDTH, SUPPORT_HEIGHT, canvas); new FramedRect( RIGHT_SUPPORTS_LEFT, SUPPORT_TOP, SUPPORT_WIDTH, SUPPORT_HEIGHT, canvas); } // end begin } // end BuildBridge