import java.applet.Applet;	// import Applet class
import java.awt.Graphics;	// import Graphics class

public class QueenSolver extends Applet {
    private Queen lastQueen;
    private static final int NUMQUEENS = 8;
    private static final int NUMROWS = 8;
    private boolean NoMoreSolutions;
    private Graphics g;

    public void init () {
	int i;
	lastQueen = null;
	NoMoreSolutions = false;
	for (i=1; i<=NUMQUEENS; i++) {
	    lastQueen = new Queen (NUMROWS, i, lastQueen);
	    }
	}

    public void paint (Graphics g)
    {
	this.g = g;
	for (int i=0; i <= NUMQUEENS; i++) {
	    g.drawLine (50*i, 0, 50*i, 400);
	    g.drawLine(0,50*i,400,50*i);
	    }
	lastQueen.paintAll (g);
    }

    public boolean mouseDown (java.awt.Event evt, int x, int y) {
	showStatus ("Working on next solution...");
	if (lastQueen.FindNextSolution ())
	    showStatus ("Got it!");
	else
	    showStatus ("No more solutions!");
	repaint ();
	return true;
	}
}
