import stiftUndCo.*;
import java.awt.*;

public class StartBall
{
  public static void main(String[] s)
  {
    Balli balli = new Balli();
    balli.fuehreAus();
  }

}
class Balli
{
  private Bildschirm bildschirm;
  private Maus maus;
  private Ball ball1, ball2;
  private double bdir;
  private boolean collide;
  private int moveb1, moveb2;

  void fuehreAus()
  {
    bildschirm = new Bildschirm(400,300);
    maus = new Maus();
    ball1 = new Ball(100,50,25,-90,1,bildschirm);
    ball2 = new Ball(110,250,30,70,1,bildschirm);
    ball1.setzeFuellFarbe(Color.RED);
    ball2.setzeFuellFarbe(Color.BLUE);

    do
    {

      // Abprallen vom anderen Ball
      ball1.loesche();
      ball2.loesche();
      for(int a=0;a < 15;a++){
      if(Math.sqrt(Hilfe.quadrat(ball1.getX()-ball2.getX())+Hilfe.quadrat(ball1.getY()-ball2.getY())) <= ball1.getRad()+ball2.getRad() )
      {
        if (!collide)
	{
	  bdir = Hilfe.arctangens((ball1.getY()-ball2.getY())/(ball2.getX()-ball1.getX()));
      	  ball1.SetzeRichtung(-180-ball1.getDir() + (2*bdir));
	  ball2.SetzeRichtung(180-(ball2.getDir() - (2*bdir)));
	  collide = true;
	}
      }
      if(moveb1 < 15)
      {
        ball1.bewege();
	moveb1++;
      }
      if(moveb2 < 10)
      {
        ball2.bewege();
	moveb2++;
      }
      }
        collide = false;
      moveb1 = 0;
      moveb2 = 0;
      ball1.zeige();
      ball2.zeige();
      Hilfe.warte(200);
    }
    while (!maus.istGedrueckt());

    bildschirm.gibFrei();
  }
        
}        

