Dots.java
package npw;
import shapes.SShape;
import java.awt.Color;
import javax.swing.SwingUtilities;
import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;

public class Dots
{
    //THE SOLUTION TO THE BLUE DOT PROBLEM
    private void paintTheImage()
    {
        SPainter painter = new SPainter("Dot",600,600);

        SCircle dot = new SCircle(20);
        paintCircle1(painter, dot);
        paintCircle2(painter, dot);
        paintCircle3(painter, dot);
        paintCircle4(painter, dot);
        paintCircle5(painter, dot);
        paintCircle6(painter, dot);
        paintCircle7(painter, dot);
        paintCircle8(painter, dot);
        paintCircle9(painter, dot);

    }


    // Required Infrastructure
    private void paintCircle1(SPainter painter, SCircle dot) {
        painter.setColor(Color.blue);
        painter.paint(dot);
    }
    private void paintCircle2(SPainter painter, SCircle dot) {
    painter.setColor(Color.blue);
    painter.mlt(150);
    painter.paint(dot);
    painter.mrt(150);
    }
    private void paintCircle3(SPainter painter, SCircle dot) {
        painter.setColor(Color.yellow);
        dot.setRadius(10);
        painter.mfd(150);
        painter.mrt(150);
        painter.paint(dot);
        painter.mbk(150);
        painter.mlt(150);
    }
    private void paintCircle4(SPainter painter, SCircle dot) {
        painter.setColor(Color.yellow);
        dot.setRadius(10);
        painter.mfd(150);
        painter.mlt(150);
        painter.paint(dot);
        painter.mbk(150);
        painter.mrt(150);
    }
    private void paintCircle5(SPainter painter, SCircle dot) {
    painter.setColor(Color.cyan);
    dot.setRadius(30);
    painter.mbk(75);
    painter.mlt(100);
    painter.paint(dot);
    painter.mfd(75);
    painter.mrt(100);
    }
    private void paintCircle6(SPainter painter, SCircle dot) {
        painter.setColor(Color.cyan);
        dot.setRadius(30);
        painter.mbk(75);
        painter.mrt(100);
        painter.paint(dot);
        painter.mfd(75);
        painter.mlt(100);
    }
    private void paintCircle7(SPainter painter, SCircle dot) {
        painter.setColor(Color.lightGray);
        dot.setRadius(50);
        painter.mbk(200);
        painter.mlt(200);
        painter.paint(dot);
        painter.mfd(200);
        painter.mrt(200);
    }
    private void paintCircle8(SPainter painter, SCircle dot) {
        painter.setColor(Color.lightGray);
        dot.setRadius(50);
        painter.mbk(200);
        painter.mrt(200);
        painter.paint(dot);
        painter.mfd(200);
        painter.mlt(200);
    }
    private void paintCircle9(SPainter painter, SCircle dot) {
        painter.setColor(Color.blue);
        dot.setRadius(20);
        painter.mrt(150);
        painter.paint(dot);
        painter.mlt(150);
    }


    private Dots()
    {
        paintTheImage();
    }

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