
/**
 * Write a description of class Zeichnung here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Springball
{
    // instance variables - replace the example below with your own
    //private ZEICHENFENSTER hintergrund;
    private VOLLKREIS kreis1;
    private VOLLKREIS kreis2;
    //private Kombi kombination;
    //private KASTEN rechteck;
    //private Kirschen k1;

    /**
     * Constructor for objects of class Zeichnung
     */
    public Springball()
    {
        // initialise instance variables
        //hintergrund = new ZEICHENFENSTER("Zeichenbrett",800,500);
        kreis1 = new VOLLKREIS(150,300,25,4);
        //hintergrund.fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        //kreis2 = new VOLLKREIS1(50,200,25,3);
        //hintergrund.fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),kreis2.gibFarbnr());
        //rechteck = new KASTEN(200, 50, 150, 300, 2);
        //hintergrund.fuelleRechteck(rechteck.gibXMitte(),rechteck.gibYMitte(),rechteck.gibBreite(),rechteck.gibHoehe(),rechteck.gibFarbnr());
        //kombination = new Kombi(kreis1, rechteck);
        //k1 = new Kirschen();
    }

    /**
     * An example of a method - replace this comment with your own
     * 
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y 
     */
    //public void Kirschbild()
    //{
    //    hintergrund.zeichneStrecke(k1.gibXMK1(), k1.gibYMK1(), (k1.gibXMK1()+k1.gibXMK2())/2, k1.gibYMK1()-50);
    //    hintergrund.zeichneStrecke(k1.gibXMK2(), k1.gibYMK2(), (k1.gibXMK1()+k1.gibXMK2())/2, k1.gibYMK2()-50);
    //    hintergrund.fuelleKreis(k1.gibXMK1(),k1.gibYMK1(),k1.gibRK1(),k1.gibFK1());
    //    hintergrund.fuelleKreis(k1.gibXMK2(),k1.gibYMK2(),k1.gibRK2(),k1.gibFK2());
    //}
    public void billard()
    {
       kreis1 = new VOLLKREIS(15,30,25,4);
       while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() < 500 - kreis1.gibRadius()))
       {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte()+1,kreis1.gibYMitte()+1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
       }
       if ((kreis1.gibYMitte() >= 500 - kreis1.gibRadius()) && (kreis1.gibXMitte() < 600 - kreis1.gibRadius()))
       {
           while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() > kreis1.gibRadius()))
           {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
               kreis1.setzeMitte(kreis1.gibXMitte()+1,kreis1.gibYMitte()-1);
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
           }
       }
    }
       
    public void move1()
    {
       kreis1 = new VOLLKREIS(55,30,25,4);
       for (int i = 1; i < 100; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
    
    public void move2()
    {
       kreis1 = new VOLLKREIS(55,30,25,4);
       for (int i = 1; i < 1000; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
    
    public void move3()
    {
       kreis1 = new VOLLKREIS(55,30,25,4);
       for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
    
    public void move4()
    {
       kreis1 = new VOLLKREIS(55,30,25,4);
       for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
        for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()-1);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
    
    public void move5()
    {
        while (true)
        {
           kreis1 = new VOLLKREIS(15,30,25,4);
           while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() < 500 - kreis1.gibRadius()))
           {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
               kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
           }
           if ((kreis1.gibYMitte() >= 500 - kreis1.gibRadius()) && (kreis1.gibXMitte() < 600 - kreis1.gibRadius()))
           {
               while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() > kreis1.gibRadius()))
               {
                   ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
                   kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()-1);
                   ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
               }
           }
        }
    }
    public void move6()
    {
       kreis1 = new VOLLKREIS(55,30,25,4);
       for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte()+1,(int) (10*Math.sqrt(kreis1.gibXMitte()+1)));
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
    public void move7()
    {
       kreis1 = new VOLLKREIS(255,243,26,4);
       kreis2 = new VOLLKREIS(255,330,120,6);
       ZEICHENFENSTER.gibFenster().fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),kreis2.gibFarbnr());
       while (true)
        {
       
           for (int i = 30; i < 200; i = i + 1)
            {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis2.gibFarbnr());
               kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()+1);
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
               ZEICHENFENSTER.gibFenster().warte(20);
            }
           for (int i = 30; i < 200; i = i + 1)
            {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis2.gibFarbnr());
               kreis1.setzeMitte(kreis1.gibXMitte(),kreis1.gibYMitte()-1);
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
               ZEICHENFENSTER.gibFenster().warte(20);
            }
        }
    }
    public void move8()
    {
       kreis2 = new VOLLKREIS(255,330,120,6);
       kreis1 = new VOLLKREIS(kreis2.gibXMitte()-kreis2.gibRadius(),kreis2.gibYMitte()-kreis2.gibRadius(),25,4);
       int xM = kreis2.gibXMitte();
       int yM = kreis2.gibYMitte();
       while (true)
        {
           for (int i = -60; i < 60; i = i + 1)
            {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
               kreis1.setzeMitte(kreis2.gibXMitte()+i,(int) ((Math.sqrt(3600-(i*i)))+kreis2.gibYMitte()));
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
               ZEICHENFENSTER.gibFenster().warte(20);
            }
           for (int i = 60; i > -60; i = i - 1)
            {
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
               kreis1.setzeMitte(kreis2.gibXMitte()+i,(int) (kreis2.gibYMitte()-(Math.sqrt(3600-(i*i)))));
               ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
               ZEICHENFENSTER.gibFenster().warte(20);
            }
        }
    }
    public void move9()
    {
       kreis1 = new VOLLKREIS(55,150,25,4);
       kreis2 = new VOLLKREIS(55,150,100,6);
       for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte()+1,kreis1.gibYMitte());
           kreis2.setzeMitte(kreis2.gibXMitte()+1,kreis2.gibYMitte());
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),kreis2.gibFarbnr());
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
           ZEICHENFENSTER.gibFenster().warte(10);
        }
       for (int i = 30; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),8);
           kreis1.setzeMitte(kreis1.gibXMitte()-1,kreis1.gibYMitte());
           kreis2.setzeMitte(kreis2.gibXMitte()-1,kreis2.gibYMitte());
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis2.gibXMitte(),kreis2.gibYMitte(),kreis2.gibRadius(),kreis2.gibFarbnr());
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
           ZEICHENFENSTER.gibFenster().warte(10);
        }
    }
    public void ex4()
    {
       kreis1 = new VOLLKREIS(50,50,100,4);
       for (int i = 0; i < 500; i = i + 1)
        {
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
           kreis1.setzeMitte(50+i,50+i);
           ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
        }
    }
       /**
       *while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() < 500 - kreis1.gibRadius()))
       *{
       *    ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
       *    kreis1.setzeMitte(kreis1.gibXMitte()+1,kreis1.gibYMitte()+1);
       *    ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
       *}
       *if ((kreis1.gibYMitte() >= 500 - kreis1.gibRadius()) && (kreis1.gibXMitte() < 600 - kreis1.gibRadius()))
       *{
       *    while ((kreis1.gibXMitte() < 600 - kreis1.gibRadius()) && (kreis1.gibYMitte() > kreis1.gibRadius()))
       *    {
       *        ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),8);
       *        kreis1.setzeMitte(kreis1.gibXMitte()+1,kreis1.gibYMitte()-1);
       *        ZEICHENFENSTER.gibFenster().fuelleKreis(kreis1.gibXMitte(),kreis1.gibYMitte(),kreis1.gibRadius(),kreis1.gibFarbnr());
       *    }
       *}
       **/
}
