import java.awt.*;

public class knoten
{
    // Konstruktor
    // erzeugt einen Knoten mit entscprechendem Wert
    // der integer "Wert" soll hier ein Objekt repräsentieren
    public knoten(int Wert)
    {
        linkesKind  = null;
        rechtesKind = null;
        setzeWert(Wert);
        einfaerben(Color.red);
    }

    // wert (Objekt)
    private int Wert;
    // einfaerbung
    ///
    // Color stammt aus java.awt.Color, daher müssen englische Farbnamen
    // (red/black) verwendet werden.
    private Color faerbung;

    // Kinder
    public knoten linkesKind;
    public knoten rechtesKind;

    // Wert zurückgeben
    public int gibWertZurueck()
    {
        return Wert;
    }//wert


    // Wert übergeben und setzen
    public void setzeWert(int Wert)
    {
        this.Wert = Wert;
    }// setzeWert


    //                   _     _    _        
    // __ _____ _ _ __ _| |___(_)__| |_  ___ 
    // \ V / -_) '_/ _` | / -_) / _| ' \/ -_)
    //  \_/\___|_| \__, |_\___|_\__|_||_\___|
    //             |___/

    // -1 => übergebene Wert kleiner als Knoten
    // +1 => übergebene Wert größer als Knoten
    //  0 => Werte gleich
    public int vergleiche(int Wert)
    {
        if (Wert < this.Wert)
        {
            return -1;  // kleiner
        }
        else if (Wert > this.Wert)
        {
            return 1;   // größer
        }
        return 0;       // gleich
    }// vergleiche


    //   __          _         
    //  / _|__ _ _ _| |__  ___ 
    // |  _/ _` | '_| '_ \/ -_)
    // |_| \__,_|_| |_.__/\___|


    // gibt Farbe des Knoten zurück
    public Color holeFarbe()
    {
        return faerbung;
    }// holeColor

    // Einfaerben des Knoten, wird vom Applet genutzt um Knoten auszumalen 
    public void einfaerben(Color faerbung)
    {
        if (faerbung == Color.black)
        {
            this.faerbung = Color.black;
        }
        else
        {
            this.faerbung = Color.red;
        }
    } // setzeColor

}// class