import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;



enum ksztalt
{
    kwadrat, kolo, trojkat


}




class Figura extends Thread implements MouseMotionListener
{
    private int Speed;
    Point Position;
    Point MousePosition;
    Graphics g;
    Figura(int S, Graphics graph)
    {
        g = graph;
        Speed = S;
    }
    public void paint(ksztalt k, Point MousePosition)
    {
        if(k == ksztalt.kolo)
        {
            g.drawRect(Position, Speed, Speed, Speed);
        }
        if(k == ksztalt.kwadrat)
        {

        }
        if(k == ksztalt.trojkat)
        {

        }
    }

    public void mouseDragged(MouseEvent me)
    {

    }

    public void mouseMoved(MouseEvent me)
    {
        MousePosition = me.getPoint();
    }


    @Override
    public void run()
    {
        while(true)
        {
            if(Position.x > MousePosition.x)
            {
                Position.x -= Speed;

            }
            if(Position.x < MousePosition.x)
            {
                Position.x += Speed;

            }
            if(Position.y > MousePosition.y)
            {
                Position.y -= Speed;

            }
            if(Position.y > MousePosition.y)
            {
                Position.y -= Speed;

            }
            try
            {
                this.sleep(1000);
            } catch (InterruptedException ex)
            {
                Logger.getLogger(Figura.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }




}



public class Figury extends Applet
{
  private ArrayList<Figura> Ksztalty;
  public void init()
  {
    setBackground(Color.red);
    for(int i = 1; i<=10; ++i)
    {
        Figura f = new Figura(i,this.getGraphics());
        addMouseMotionListener(f);
        Ksztalty.add(f);
    }
  }

  public void paint(Graphics g)
  {

  }



  

}

