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