H:\CSC120\Java\lec38_CarArrays\src\Car.java
  1 /*
  2         A Car class for an array of Car objects.
  3         Revised slightly - Fall, 2008
  4 */
  5 
  6 import java.awt.*;
  7 
  8 public class Car {
  9     
 10     private Integer size; //size represents the width of the car
 11     private Color carColor;
 12     private Integer maxMph;
 13     private Integer mpg;
 14     private String name;
 15 
 16     public Car (Color c, Integer max, Integer m, String n) {
 17         carColor = c;
 18         maxMph = max;
 19         mpg = m;
 20         name = n;
 21         size = 40; //all cars are 40 pixels wide
 22     } // end of constructor
 23 
 24     
 25     //These are the "getters" that allow MUPanel to "get" properties of a Car
 26     public Integer getMaxMph() {
 27         return maxMph;
 28     }
 29     
 30     public Color getCarColor() {
 31         return carColor;
 32     }
 33     
 34     public Integer getMpg() {
 35         return mpg;
 36     }
 37     
 38     public String getName() {
 39         return name;
 40     }
 41 
 42     //These are the "setters" that allow MUPanel to "set", or change properties of a Car
 43     public void setMaxMph(Integer max) {
 44         maxMph = max;
 45     }
 46     
 47     public void setCarColor(Color c) {
 48         carColor = c;
 49     }
 50     
 51     public void setMpg(Integer m) {
 52         mpg = m;
 53     }
 54     
 55     public void setName(String n) {
 56         name = n;
 57     }
 58     
 59 
 60     public String toString() {
 61         return name + " " + maxMph + " " + mpg + " " + carColor;        
 62     } // end of toString
 63 
 64         
 65         
 66     public void draw(Graphics g, Integer over, Integer down) {
 67         //tires
 68         g.setColor(Color.black);
 69         g.fillOval(over+4, down+10, 5, 8);
 70         g.fillOval(over+32, down+10, 5, 8);
 71 
 72         //top of car
 73         g.setColor(carColor);
 74         g.fillRoundRect(over+5, down-8, size-10, size/4,5,5);
 75         g.setColor(Color.black);
 76         g.drawRoundRect(over+5, down-8, size-10, size/4, 5, 5);
 77 
 78         //bottom of car
 79         g.setColor(carColor);
 80         g.fillRoundRect(over, down, size, size/3,8,8);
 81         g.setColor(Color.black);
 82         g.drawRoundRect(over, down, size, size/3, 8, 8);
 83 
 84         //steering wheel and headlights
 85         g.setColor(Color.black);
 86         g.drawArc(over + size/2, down-3, 12, 12, 40, 100);
 87         g.setColor(Color.YELLOW);
 88         g.fillOval(over + size/5-2, down + 4, 4,4);
 89         g.fillOval(over + 4*size/5-2, down + 4, 4,4);
 90         g.setColor(Color.GRAY);
 91         g.drawOval(over + size/5-2, down + 4, 4,4);
 92         g.drawOval(over + 4*size/5-2, down + 4, 4,4);
 93 
 94         //printed information under the car drawings
 95         g.setColor(Color.BLACK);
 96         g.drawString(name,over, down+32);
 97         g.drawString("max "+maxMph,over, down+48);
 98         g.drawString("mpg "+mpg,over, down+64);
 99     } // end of draw
100 
101 } //  end of class Car
102