PumpItUp.java
package npw;

        import painter.SPainter;
        import shapes.SCircle;
        import shapes.SSquare;

        import javax.swing.*;
        import java.awt.*;

public class PumpItUp {

    // THE SOLUTION TO THE BLUE DOT PROBLEM

    private void paintTheImage() {
        SPainter painter = new SPainter("Pump It Up",600,600);
        SSquare square = new SSquare(150);
        paintYellowSquare(painter,square);
        paintRedSquares(painter,square);
        paintBlueSquares(painter,square);
        paintGraySquares(painter,square);

    }

    private void paintGraySquares(SPainter painter, SSquare square) {
        painter.setColor(Color.GRAY);;
        painter.mfd(square.side());
        painter.paint(square);
        painter.moveToCenter();
        painter.mlt(square.side());
        painter.paint(square);
        painter.moveToCenter();
        painter.mrt(square.side());
        painter.paint(square);
        painter.moveToCenter();
        painter.mbk(square.side());
        painter.paint(square);
        painter.moveToCenter();
    }

    private void paintBlueSquares(SPainter painter, SSquare square) {
        painter.setColor(Color.BLUE);
        painter.moveToCenter();
        painter.mbk(square.side());
        painter.mrt(square.side());
        painter.paint(square);
        painter.moveToCenter();
        painter.mbk(square.side());
        painter.mlt(square.side());
        painter.paint(square);
        painter.mfd(square.side());
        painter.moveToCenter();
    }

    private void paintRedSquares(SPainter painter, SSquare square) {
        painter.setColor(Color.RED);
        painter.mfd(square.side());
        painter.mlt(square.side());
        painter.paint(square);
        painter.moveToCenter();
        painter.mfd(square.side());
        painter.mrt(square.side());
        painter.paint(square);
    }

    private void paintYellowSquare(SPainter painter, SSquare square) {
        painter.setColor(Color.yellow);
        painter.paint(square);
    }

    // REQUIRED INFRASTRUCTURE

    public PumpItUp() {
        paintTheImage();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater((new Runnable() {
            public void run() {
                new npw.PumpItUp();

            }
        }));
    }
}