import greenfoot.*;  // (World, Actor, GreenfootImage, and Greenfoot)


import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

/**
 * A circle
 */
public class KREIS extends Actor
{
  private GreenfootImage Bild_ein, Bild_aus;
     
  private int durchmesser;
  private int xPosition;
  private int yPosition;
  private String farbe;
  private boolean istSichtbar;
    
    /**
     * Erzeuge einen neuen Kreis mit Defaultwerten.
     
    public KREIS()
    {
        farbe = "blau";
        istSichtbar = false;
    }
    */
    
    /**
     * Erzeuge einen neuen Kreis mit diesen Parametern.
     */
    public KREIS(String f)
    {
      farbe = f;
      if (f == "rot")   Bild_ein = new GreenfootImage("button-red.png");
      if (f == "gelb")  Bild_ein = new GreenfootImage("button-yellow.png"); 
      if (f == "gruen") Bild_ein = new GreenfootImage("button-green.png");
      Bild_aus = new GreenfootImage("button-black.png");
      istSichtbar = false;
      zeichnen();
    }
    
    /*
    public void addedToWorld(World world)
    { 
      if (farbe == "rot")   setImage("button-red.png"); 
      if (farbe == "gelb")  setImage("button-yellow.png"); 
      if (farbe == "gruen") setImage("button-green.png");
      getWorld().addObject(this, xPosition, yPosition);
    }
    */    
    
    /**
     * Zeichne diesen Kreis mit seinen aktuellen Werten auf den Bildschirm.
     */
    public void zeichnen()
    {
       if (istSichtbar) setImage(Bild_ein); else setImage (Bild_aus); 
    }
    
   /**
   * Mache diesen Kreis sichtbar.
   * Wenn er bereits sichtbar ist, tue nichts.
   */
  public void sichtbarMachen()
  {
    istSichtbar = true;
    zeichnen();
  }

  /**
   * Mache diesen Kreis unsichtbar.
   * Wenn er bereits unsichtbar ist, tue nichts.
   */
  public void unsichtbarMachen()
  {
    istSichtbar = false;
    zeichnen();
  }
   
   /*
   * Lösche diesen Kreis vom Bildschirm.
   */
  private void loeschen()
  {
    if (istSichtbar)
    {
      //getWorld().removeObject(this);
        //Leinwand leinwand = Leinwand.gibLeinwand();
      //leinwand.entferne(this);
    }
  }
  
  /**
     * Does nothing.
     
    public void act()
    {
        if(xTarget == getX() ) {
            Greenfoot.stopSimulation();
        }
        else {
            int deltaX = 1;
            if(getX() > xTarget) {
                deltaX = -1;
            }
            setLocation(getX() + deltaX, getY());
        }
    }
    */
}