..\CSC120\Java\lec32_f22\src\MUPanel.java
  1 /* 
  2  * CSC 120 Lecture 32
  3  *
  4  * EEK - Mice!
  5  *
  6  * 
  7  */
  8 import java.awt.*;
  9 import javax.swing.*;
 10 import java.util.*;
 11 
 12 public class MUPanel extends JPanel {
 13 
 14     private Mouse[] vermin;
 15     
 16     private Random randGen;
 17     
 18 
 19     // constructor method
 20     public MUPanel() {
 21         setLayout(null);
 22         setPreferredSize(new Dimension(760, 640));
 23         setName("Mount Union Java Program");
 24         setUp();
 25         setBackground(new Color(0xe8, 0xe8, 0xcc));
 26 
 27         
 28         randGen = new Random();
 29         
 30         
 31         vermin = new Mouse[40];
 32         
 33         for (Integer m = 0; m < vermin.length; m++) {
 34             Integer over = randGen.nextInt(501) + 100;
 35             Integer down = randGen.nextInt(401) + 50;
 36             
 37             Integer red = randGen.nextInt(140) + 100;
 38             Integer green = randGen.nextInt(140) + 100;
 39             Integer blue = randGen.nextInt(140) + 100;
 40             
 41             Double pct;
 42             
 43 //            pct = randGen.nextDouble();
 44 //            if (pct < .15) {
 45 //                vermin[m] = new Mouse(over, down, Color.ORANGE);
 46 //            }
 47 //            else if (pct < .3) {
 48 //                vermin[m] = new Mouse(over, down, Color.GREEN);
 49 //            }
 50 //            else {
 51 //                vermin[m] = new Mouse(over, down, Color.YELLOW);
 52 //            }
 53 
 54             vermin[m] = new Mouse(over, down, new Color(red, green, blue));
 55             
 56             if (randGen.nextBoolean() == true) {
 57                 vermin[m].turnAround();
 58             }
 59         }
 60         
 61         
 62         
 63         
 64         
 65 //        for (Integer x = 0; x < vermin.length; x++) {
 66 //            Color mouseColor;
 67 //            if (x < 11) {
 68 //                mouseColor = Color.YELLOW;
 69 //            }
 70 //            else {
 71 //                mouseColor = Color.MAGENTA;
 72 //            }
 73 //            vermin[x] = new Mouse(x*4+100, 20*x + 5, mouseColor);
 74 //            if (x % 2 == 1) {
 75 //                vermin[x].turnAround();
 76 //            }
 77 //        }
 78         
 79         
 80         
 81         
 82 //        vermin[0] = new Mouse(100, 100, Color.ORANGE);
 83 //        vermin[1] = new Mouse(100, 150, Color.ORANGE);
 84 //        vermin[2] = new Mouse(100, 200, Color.YELLOW);
 85 //        vermin[3] = new Mouse(100, 250, Color.ORANGE);
 86 //        vermin[4] = new Mouse(100, 300, Color.ORANGE);
 87 //        vermin[5] = new Mouse(220, 100, Color.ORANGE);
 88 //        vermin[6] = new Mouse(220, 150, Color.ORANGE);
 89 //        vermin[7] = new Mouse(220, 200, Color.ORANGE);
 90 //        vermin[8] = new Mouse(220, 250, Color.ORANGE);
 91 //        vermin[9] = new Mouse(220, 300, Color.ORANGE);
 92 //        vermin[10] = new Mouse(50, 400, Color.CYAN);
 93 //        vermin[11] = new Mouse(650, 400, Color.GREEN);
 94 //        vermin[11].turnAround();
 95 
 96         
 97 
 98     } // end of constructor
 99     
100     @Override
101     public void paintComponent(Graphics g) {
102         super.paintComponent(g); // This line must be first in this method!
103 
104         
105         for (Integer x = 0; x < vermin.length; x++) {
106             vermin[x].draw(g);
107         }
108                 
109     } // end of paintComponent()
110     
111     
112     public void moveMiceForward() {
113         
114         for (Integer index=0; index < vermin.length; index++) {
115             vermin[index].moveForward(1);
116         }
117         
118     } // end of moveMiceForward
119     
120     public void moveLowerMiceForward() {
121         
122         for (Integer index=0; index < vermin.length; index++) {
123             if (vermin[index].getDown() > 250) {
124                 vermin[index].moveForward(1);
125             }
126         }
127         
128     } // end of moveLowerMiceForward
129     
130 
131     
132     public void turnMiceAround() {
133 
134         for (Integer x = 0; x < vermin.length; x++) {
135             vermin[x].turnAround();
136         }
137         
138     } // end of turnMiceAround
139        
140     public void turnOuterMiceAround() {
141 
142         for (Integer x = 0; x < vermin.length; x++) {
143             if (vermin[x].getOver() < 150 || vermin[x].getOver() > 500) {
144                 vermin[x].turnAround();
145             }
146         }
147         
148     } // end of turnOuterMiceAround
149        
150 
151 
152     
153     /***********************************************
154      * Do NOT change or delete anything below here!
155      ***********************************************/
156     public void setUp() {
157         for (Component c: getComponents())
158             c.setSize(c.getPreferredSize());
159         JFrame f = new JFrame(getName());
160         f.setContentPane(this);
161         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
162         f.pack();
163         f.setVisible(false);    
164     }
165 
166     public static void main(String args[]){new MUPanel();}
167 
168 } // end of class MUPanel
169 
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189 
190 
191 
192 
193 
194 
195 //        vermin = new Mouse[50];
196 //        
197 //        
198 //        vermin[0] = new Mouse(550, 200);
199 //        vermin[1] = new Mouse(300, 300);
200 //        vermin[2] = new Mouse(200, 10);
201 //        vermin[3] = new Mouse(50, 500);
202 //        vermin[4] = new Mouse(150, 200);
203 //        vermin[5] = new Mouse(100, 300);
204 //        vermin[6] = new Mouse(500, 10);
205 //        vermin[7] = new Mouse(450, 500);
206 //        vermin[8] = new Mouse(50, 50);
207 //        vermin[9] = new Mouse(750, 500);
208 
209         
210 //        vermin[0].turnAround();
211 //        for (Integer index = 0; index < 10; index++) {
212 //            vermin[index] = new Mouse(70, 25*index+10, Color.RED);
213 //        }
214 //        for (Integer index = 10; index < 20; index++) {
215 //            vermin[index] = new Mouse(70, 25*index+10);
216 //        }
217 //        for (Integer index = 20; index < 24; index++) {
218 //            vermin[index] = new Mouse(70, 25*index+10, Color.PINK);
219 //        }
220 //        for (Integer index = 24; index < vermin.length; index++) {
221 //            vermin[index] = new Mouse();
222 //        }
223