import javax.swing.*;
import java.awt.*;

/**
 * Repräsentiert eine Scheibe im Spiel "Die Türme von Hanoi"
 * 
 * @author Rainer Helfrich
 * @version Oktober 2020
 */
public class Scheibe
{
    final private Color farbe;
    final private int groesse;

    /**
     * Erzeugt eine neue Scheibe in der gewünschten Größe.
     * Sollte nicht direkt aufgerufen werden!
     * @param groesse Die Größe der Scheibe (1 bis 14)
     */
    public Scheibe(int groesse)
    {
        Color[] farben =
        {
            Color.BLACK, 
            Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW,
            Color.CYAN, Color.MAGENTA, Color.ORANGE, Color.PINK,
            Color.GRAY, new Color(0x6B8E23), new Color(0x4682B4), new Color(0x9ACD32),
            new Color(0xBA55D3), new Color(0x228B22)
        };
        this.groesse = groesse;
        farbe = farben[groesse];
    }

    /**
     * Zeichnet die Scheibe an der Position (x,y) auf das Graphics-Objekt g.
     * Sollte nicht direkt aufgerufen werden.
     * @param g Das Graphics-Objekt, auf das gezeichnet wird
     * @param x Die x-Koordinate der oberen linken Ecke
     * @param y Die y-Koordinate der oberen linken Ecke
     */
    public void zeichne(Graphics g, int x, int y)
    {
        g.setColor(farbe);
        g.fillRect(x-groesse*10, y, 20*groesse, 15);
    }

    /**
     * Gibt die Größe der Scheibe zurück
     * @return Die Größe der Scheibe (0 bis 14)
     */
    public int getGroesse()
    {
        return groesse;
    }
}