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

/**
 * WalkerApplet is the container for the Walker graphics
 * project.
 * 
 * Walker 3. Drawing your Walker.
 * 
 * Add a new constructor to your Walker class that will take
 * a Graphics2D object as the first parameter.  Give the Walker
 * a new private instance variable p (for page) that is also
 * a Graphics2D object.  Start by drawing a simple figure.  We
 * will discuss in class how to reference the figure to a location
 * on the page and then add complexity with other methods.
 * 
 * Walker 4.  Animating your walker and drawing a background.
 *
 * @author Mrs. White 
 * @version Spring 2003
 */
public class WalkerApplet extends JApplet
{
    // instance variables - replace the example below with your own
  //  private int x=400;
    private Walker sleepy;
    private Walker stupid;
    private int dir=1;
    /**
     * Called by the browser or applet viewer to inform this Applet that it
     * has been loaded into the system. It is always called before the first 
     * time that the start method is called.
     */
    public void init()
    {
        // provide any initialisation necessary for your Applet

    }

    /**
     * Called by the browser or applet viewer to inform this Applet that it 
     * should start its execution. It is called after the init method and 
     * each time the Applet is revisited in a Web page. 
     */
    public void start()
    {
        setVisible (true);
        Graphics2D g = (Graphics2D)getGraphics();
        sleepy =new Walker(g,200);
        stupid=new Walker(g,0);
        paint(g);
  /*      for (int count = 0;  count < 15;  count++)
        {    
             paint(g);
             sleepy.move();
             pause(500); 
        }
  */
   }


    /**
     * This may be the most important method in your applet: Here, the 
     * drawing of the applet gets done. "paint" gets called everytime the
     * applet should be drawn on the screen. So put the code here that
     * shows the applet.
     *
     * @param  g   the Graphics object for this applet
     */
    public void paint(Graphics2D g)
    {   
        for(int x=0;x<5000;x++)
        {
            sleepy.drawBackground(); // clear area
            sleepy.draw();   
            sleepy.move();
            stupid.scriptDraw(dir,0);   
            if(x%500==0)
                dir*=-1;
            pause(5);
        }
    }


    /** 
     * Used between drawing the different Walkers to provide
     * animation
     */
    private static void pause (int wait)
        {    long timeToQuit = System.currentTimeMillis() + wait;
             while (System.currentTimeMillis() < timeToQuit)
             {  }  // take no action
        }    //======================
 }