Invention2.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SRectangle;
5    
6    import javax.swing.*;
7    import java.awt.*;
8    import java.util.Random;
9    
10   public class Invention2 {
11   
12       public static void main(String[] args) {
13           SwingUtilities.invokeLater(Invention2::new);
14       }
15   
16       public Invention2() {
17           paintTheImage();
18       }
19   
20       private void paintTheImage() {
21           int length = 350;
22           int width = 50;
23           SPainter painter = new SPainter("Pyramid", 800, 800);
24           paintPicture(length, width, painter);
25       }
26   
27       private void paintPicture(int length, int width, SPainter painter) {
28           SRectangle layer = new SRectangle(width,length);
29           painter.mbk(350);
30           int i = 0;
31           Random rgb = new Random();
32           int red = rgb.nextInt(256);
33           int green = rgb.nextInt(256);
34           int blue = rgb.nextInt(256);
35           while (i <= 7){
36               painter.setColor(new Color(red,green,blue));
37               painter.paint(layer);
38               painter.mfd(50);
39               if (red+green+blue > 500) {
40                   green = (blue + 100)%256;
41                   blue = (red)%256;
42                   red = (red - 100)%256;
43               } else {
44                   blue = ((green * blue) - red)%256;
45                   red = (red/2)%256;
46                   green = (green + 50)%256;
47               }
48               length = length - 50;
49               layer.setWidth(length);
50               i = i + 1;
51           }
52       }
53   }
54