import java.applet.Applet;
import java.awt.*;

public class OtusLiikkuu extends Applet {

  Color taustavari = Color.yellow, 
        otusvari = Color.black;

  private int x, y, uusiX, uusiY;
  private boolean hymyilee;

  private void tulostaOtus(Graphics g) {
    g.drawRect(0, 0, size().width-1, size().height-1);
    g.drawString("Näytä hiirellä otukselle paikka!", 5,15);
    g.drawString("Näppäinpainallus vaikuttaa otuksen mielialaan.", 5,30);

    g.drawOval(x-35,y-35, 70,70);
    g.drawOval(x-17,y-15, 10,7);
    g.drawOval(x+9,y-15, 10,7);
    if (hymyilee)
      g.drawArc(x-20,y-10, 40, 30, -60, -60);
    else
      g.drawArc(x-20,y+20, 40, 30, 60, 60);
  }

  public void init() {
    x=size().width/2;
    y=size().height/2;
    hymyilee = true;
    setBackground(taustavari);
  }

  public void paint(Graphics g) {
    tulostaOtus(g);
  }

  public void update(Graphics g) {
    g.clearRect(x-40,y-40,80,80);
    x = uusiX;
    y = uusiY;
    tulostaOtus(g);
  }

  public boolean mouseDown(Event e, int x, int y) {
    uusiX = x;
    uusiY = y;
    repaint();
    return false;
  }

  public boolean mouseDrag(Event e, int x, int y) {
    uusiX = x;
    uusiY = y;
    repaint(); 
    return false;
  }

  public boolean keyDown(Event e, int x) {
    hymyilee = !hymyilee;
    repaint();
    return false;
  }
} 


