Invention1.java
1    
2    package npw;
3    
4    import painter.SPainter;
5    import shapes.SCircle;
6    import shapes.SSquare;
7    import javax.swing.*;
8    import java.awt.*;
9    
10   public class Invention1 {
11   
12       private void paintTheImage(){
13           //establish the painter
14           SCircle circle = new SCircle (25);
15           SSquare square = new SSquare (50);
16           SPainter painter = new SPainter ("", 500, 500);
17   
18           paintCirclesAndSquares(painter, circle, square);
19       }
20       private void paintCirclesAndSquares(SPainter painter, SCircle circle, SSquare square) {
21   
22           double squareSide = square.side();
23           int i = 1;
24           while (i<=10) {
25               if (i % 2 == 0) {
26                   painter.setColor(Color.RED);
27                   painter.tr(45);
28                   painter.paint(square);
29                   painter.tl(45);
30                   painter.mfd(squareSide*1.5);
31                   square.s2();
32                   painter.setColor(Color.YELLOW);
33                   painter.paint(square);
34                   square.x2();
35                   painter.mbk(squareSide*1.5);
36                   painter.mbk(squareSide*1.5);
37                   square.s2();
38                   painter.setColor(Color.CYAN);
39                   painter.paint(square);
40                   painter.mfd(squareSide*1.5);
41                   square.x2();
42                   painter.mlt(squareSide);
43               }
44               else {
45                   painter.mrt(squareSide*2);
46                   painter.paint(circle);
47                   painter.mfd(squareSide*1.5);
48                   painter.mrt(squareSide*1.5);
49                   painter.setColor(Color.CYAN);
50                   circle.x2();
51                   painter.paint(circle);
52                   painter.setColor(Color.RED);
53                   painter.draw(circle);
54                   painter.mbk(squareSide*3);
55                   painter.setColor(Color.RED);
56                   painter.paint(circle);
57                   painter.setColor(Color.CYAN);
58                   painter.draw(circle);
59                   painter.mfd(squareSide*1.5);
60                   painter.mlt(squareSide*3.5);
61                   circle.s2();
62               }
63               i = i + 1;
64           }
65       }
66       public Invention1() {
67           paintTheImage();
68       }
69       public static void main (String[]args) {
70           SwingUtilities.invokeLater(new Runnable() {
71               public void run() {
72                   new Invention1();
73               }
74           });
75       }
76   }