| ..\CSC120\Java\lec31_s26\src\MUPanel.java |
1
2
3
4
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
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
42
43
44
45
46
47
48
49
50
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 }
98
99 @Override
100 public void paintComponent(Graphics g) {
101 super.paintComponent(g);
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 }
114
115
116 public void moveMiceForward() {
117
118 for (Integer index=0; index < vermin.length; index++) {
119 vermin[index].moveForward(1);
120 }
121
122 }
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 }
130 }
131
132 }
133
134
135
136 public void turnMiceAround() {
137
138 for (Integer x = 0; x < vermin.length; x++) {
139 vermin[x].turnAround();
140 }
141
142 }
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 }
153
154
155
156
157
158
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 }
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
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227