..\CSC120\Java\lec31_s26\src\Mouse.java
  1 import java.awt.*;
  2 import java.util.Random;
  3 
  4 public class Mouse {
  5     
  6     public Integer over, down;
  7     public Boolean facingLeft;
  8     public Color mouseColor;
  9     
 10     public Mouse( Integer x, Integer y, Color c ) {
 11         over = x;
 12         down = y;
 13         facingLeft = false;
 14         mouseColor = c;
 15     } // end of constructor
 16     
 17     public Mouse( Integer x, Integer y ) {
 18         over = x;
 19         down = y;
 20         facingLeft = false;
 21         mouseColor = Color.LIGHT_GRAY;
 22     } // end of constructor
 23 
 24     public Mouse() {
 25         Random generator = new Random();
 26         over = generator.nextInt(601) + 100;
 27         down = generator.nextInt(501) + 50;
 28         facingLeft = generator.nextBoolean();
 29         Integer red, green, blue;
 30         red = generator.nextInt(150);
 31         green = generator.nextInt(150);
 32         blue = generator.nextInt(150);
 33         mouseColor = new Color(red, green, blue);
 34         
 35         
 36 //        Double pct;
 37 //        pct = generator.nextDouble();
 38 //        if (pct < 0.25) {
 39 //            mouseColor = Color.CYAN;
 40 //        }
 41 //        else if (pct < 0.5) {
 42 //            mouseColor = Color.GREEN;
 43 //        }
 44 //        else if (pct < 0.75) {
 45 //            mouseColor = Color.YELLOW;
 46 //        }
 47 //        else {
 48 //            mouseColor = Color.MAGENTA;
 49 //        }
 50     } // end of constructor
 51     
 52     public void moveForward( Integer steps ) {
 53         Integer direction = 1;
 54         if (facingLeft) {
 55             direction = -1;
 56         }
 57         over += direction*10*steps;
 58     } // end of moveForward
 59     
 60     public void turnAround() {
 61         facingLeft = !facingLeft;        
 62     } // end of turnAround
 63     
 64     public Integer getOver() {
 65         return over;
 66     }
 67     
 68     public Integer getDown() {
 69         return down;
 70     }
 71     
 72     public void draw(Graphics g){
 73         //g.setColor(Color.LIGHT_GRAY);
 74         g.setColor(mouseColor);
 75         g.fillOval(over, down, 50, 20);
 76         Polygon nose;
 77         nose = new Polygon();
 78         if (facingLeft) {
 79             nose.addPoint(over+18, down);
 80             nose.addPoint(over+18, down+20);
 81             nose.addPoint(over-10, down+10);
 82             g.fillPolygon(nose);
 83             g.setColor(Color.BLACK);
 84             g.setColor(Color.BLACK);
 85             g.fillOval(over+12, down+4, 5, 5);
 86             g.fillOval(over+12, down+11, 5, 5);
 87             g.drawLine(over-5, down+8, over, down-5);
 88             g.drawLine(over-5, down+8, over-3, down-5);
 89             g.drawLine(over-5, down+8, over-6, down-5);
 90             g.drawLine(over-5, down+12, over, down+25);
 91             g.drawLine(over-5, down+12, over-3, down+25);
 92             g.drawLine(over-5, down+12, over-6, down+25);
 93             g.drawArc(over+20, down-10, 60, 20, 270, 90  );
 94         } // end if
 95         else {
 96             nose.addPoint(over+32, down);
 97             nose.addPoint(over+32, down+20);
 98             nose.addPoint(over+60, down+10);
 99             g.fillPolygon(nose);
100             g.setColor(Color.BLACK);
101             g.fillOval(over+38, down+4, 5, 5);
102             g.fillOval(over+38, down+11, 5, 5);
103             g.drawLine(over+55, down+8, over+50, down-5);
104             g.drawLine(over+55, down+8, over+53, down-5);
105             g.drawLine(over+55, down+8, over+56, down-5);
106             g.drawLine(over+55, down+12, over+50, down+25);
107             g.drawLine(over+55, down+12, over+53, down+25);
108             g.drawLine(over+55, down+12, over+56, down+25);
109             g.drawArc(over-30, down-10, 60, 20, 180, 90  );
110         } // end else
111         
112     } // end of draw
113     
114 } // end of class Mouse
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 //    public Mouse() {
132 //        Random generator = new Random();
133 //        over = generator.nextInt(651) + 50;
134 //        down = generator.nextInt(501) + 50;
135 //        facingLeft = generator.nextBoolean();
136 //    } // end of constructor
137 //    
138 
139