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