/**
 * Diese Klasse ist zur Erzeugung eines Hauses
 * 
 * @author Dr.-Ing. U. Kiesmüller
 * @version lauffähige erste Version
 */

public class Haus
{
    // Variablendeklaration
    private Rechteck fassade;
    private Dreieck dach;
   
    /**
     * Konstruktor für ein Haus mit beliebiger Fassadenfarbe und rotem dreieckigem Dach
     * 
     * @param xlinksoben X-Koordinate der linken oberen Ecke der Hausfassade
     * @param ylinksoben Y-Koordinate der linken oberen Ecke der Hausfassade
     * @param breite Breite der Hausfassade in Pixeln
     * @param hoehe Höhe der Hausfassade in Pixeln
     * 
     */
    public Haus(int xlinksoben, int ylinksoben, int breite, int farbe)
    {
        fassade = new Rechteck(xlinksoben, ylinksoben, breite, breite, farbe);
        dach = new Dreieck (xlinksoben + breite/2, ylinksoben - breite, xlinksoben, ylinksoben, xlinksoben + breite, ylinksoben, 4);
    }

    /**
     * Methode zur Abfrage der linken oberen x-Koordinate der Hausfassade
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die linke obere x-Koordinate der Hausfassade zurückgegeben
     */
    public int gibXStartFassade()
    {
        return fassade.gibXStart();
    }
    
    /**
     * Methode zur Abfrage der linken oberen y-Koordinate der Hausfassade
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die linke obere y-Koordinate der Hausfassade zurückgegeben
     */
    public int gibYStartFassade()
    {
        return fassade.gibYStart();
    }
    
    /**
     * Methode zur Abfrage der Breite der Hausfassade
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Breite der Hausfassade zurückgegeben
     */
    public int gibBreiteFassade()
    {
        return fassade.gibBreite();
    }
    
    /**
     * Methode zur Abfrage der Höhe der Hausfassade
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Höhe der Hausfassade zurückgegeben
     */
    public int gibHoeheFassade()
    {
        return fassade.gibHoehe();
    }
    
    /**
     * Methode zur Abfrage der Farbe der Hausfassade
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Farbnummer der Hausfassadenfarbe zurückgegeben
     */
    public int gibFarbnrFassade()
    {
        return fassade.gibFarbnr();
    }
    
    /**
     * Methode zur Abfrage der x-Koordinate der Dachspitze
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die x-Koordinate der Dachspitze zurückgegeben
     */
    public int gibX1Dach()
    {
        return dach.gibX1();
    }
    
    /**
     * Methode zur Abfrage der y-Koordinate der Dachspitze
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die y-Koordinate der Dachspitze zurückgegeben
     */
    public int gibY1Dach()
    {
        return dach.gibY1();
    }
    
    /**
     * Methode zur Abfrage der x-Koordinate der linken Dachbasisecke
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die x-Koordinate der linken Dachbasisecke zurückgegeben
     */
    public int gibX2Dach()
    {
        return dach.gibX2();
    }
    
    /**
     * Methode zur Abfrage der y-Koordinate der linken Dachbasisecke
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die y-Koordinate der linken Dachbasisecke zurückgegeben
     */
    public int gibY2Dach()
    {
        return dach.gibY2();
    }
    
    /**
     * Methode zur Abfrage der x-Koordinate der rechten Dachbasisecke
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die x-Koordinate der rechten Dachbasisecke zurückgegeben
     */
    public int gibX3Dach()
    {
        return dach.gibX3();
    }
    
    /**
     * Methode zur Abfrage der y-Koordinate der rechten Dachbasisecke
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die y-Koordinate der rechten Dachbasisecke zurückgegeben
     */
    public int gibY3Dach()
    {
        return dach.gibY3();
    }
        
    /**
     * Methode zur Abfrage der Farbe des Daches
     * 
     * @return  mit Hilfe des Getters aus der Klasse Dreieck wird die Farbnummer der Dachfarbe zurückgegeben
     */
    public int gibFarbnrDach()
    {
        return dach.gibFarbnr();
    }
}
