Invention2.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SRectangle;
5    
6    import java.awt.*;
7    
8    public class Invention2 {
9        public static void main (String[] args){
10           SPainter painter = new SPainter("Invention 2", 800, 800);
11           int height = 150;
12           int width = 200;
13           SRectangle first = new SRectangle(height, width);
14           painter.mrt(300);
15           double move = 300;
16           int i = 3;
17           while (i > 0) {
18               painter.mfd(300);
19               painter.mrt(move);
20               painter.setColor(randomColor());
21               painter.paint(first);
22               painter.moveToCenter();
23               move = move - 300;
24               i = i - 1;
25           }
26           painter.mfd(300);
27           painter.mrt(300);
28           painter.setColor(randomColor());
29           painter.paint(first);
30           painter.moveToCenter();
31   
32           first.expand(450, 200);
33           painter.mbk(100);
34           painter.setColor(Color.black);
35           painter.paint(first);
36   
37           height = 500;
38           first.shrink(height, 250);
39           painter.mrt(150);
40           painter.mfd(100);
41           painter.setColor(Color.white);
42           painter.paint(first);
43           sideRectangle(first, painter, height);
44           painter.moveToCenter();
45   
46           painter.mrt(200);
47           painter.mbk(200);
48           painter.setColor(Color.white);
49           painter.paint(first);
50           sideRectangle(first, painter, height);
51           painter.moveToCenter();
52   
53           height = 50;
54           first.shrink(height, 0);
55           painter.mlt(200);
56           painter.mbk(250);
57           painter.setColor(Color.white);
58           painter.paint(first);
59           sideRectangle(first, painter, height);
60           painter.moveToCenter();
61       }
62   
63       private static void sideRectangle(SRectangle first, SPainter painter, int height) {
64           if (height >= 500) {
65               painter.mrt(50);
66               painter.setColor(randomColor());
67               painter.paint(first);
68           } else if (height < 500) {
69               painter.mlt(50);
70               painter.setColor(randomColor());
71               painter.paint(first);
72           }
73   
74       }
75   
76       private static Color randomColor() {
77           int rv = (int)(Math.random()*256);
78           int gv = (int)(Math.random()*256);
79           int bv = (int)(Math.random()*256);
80           return new Color(rv, gv, bv);
81       }
82   }