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

/**
 * Write a description of class AB6 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class AB6 extends Roboter
{  
    // Eigenschaften eines AB6 - Objektvariablen (Attribute) werden deklariert:
    private int schritte;
    // Aufgabe 8: Hier wird das Attribut drehungen deklariert:

    private int brennstaebe;

    /*#
     * Konstruktor eines AB6: Der Startzustand wird definiert
     */
    public AB6() {
        // Startzustand eines AB6 - Objektvariablen werden initialiaiert:
        this.schritte = 0;
        // Aufgabe 8: Initialisiere das Attribut drehungen hier:

        this.brennstaebe = 0;
    }

    /*#
     * AB7 - Aufgabe 4: Super
     */
    public void einsVorMitZaehlen() {
        // Das Attribut Schritte wird um eins erhoeht: 
        this.schritte++;
        super.einsVor();
    }

    /*#
     * Aufgabe 7: Schrittezaehler
     * AB7 - Aufgabe 5: Brennstaebe zaehlen
     */
    public void bisWandMitZaehlen() {

    }

    /*#
     * Aufgabe 8: Drehzaehler
     * AB7 - Aufgabe 6:
     */
    public void dreheRechtsMitZaehlen() {

    }

    public void dreheLinksMitZaehlen() {

    }

    /*#
     * Aufgabe 9: Eine get-Methode
     */
    public int getSchritte() {
        return 0;
    }

    /*#
     * Aufgabe 10: Deine get-Methode
     */
    // Hier kommt deine get-Methode fuer die Anzahl der Drehungen hin.
    // Benenne sie sinnvoll:

    /*#
     * Methoden fuer den Einsatz 6
     */
    public boolean istFassLinks() {
        // Kopiere dir den Methodeninhalt aus AB5 und entferne das return true;
        return true;
    }

    public boolean istWandLinks() {
        // Kopiere dir den Methodeninhalt aus AB5 und entferne das return true;
        return true;
    }
    
    /*#
     * Einsatz 6:
     */
    public void einsatz6() {

    }

    /*#
     * Weitere Methoden zum Arbeitsblatt 7:
     */

    /*#
     * AB7 - Aufgabe 1: Kreuzungen zaehlen
     */
    
    /*#
     * AB7 - Aufgabe 6: Standardmethoden ueberschreiten 
     */

    /*#
     * AB7 - Aufgabe 7: Fass links
     */
    // Hier kommt die Methode istFassLinks() hin:

    /*#
     * AB7 - Aufgabe 8: Ueberschreiben
     */
    public boolean wandVorne() {
        // Entferne das return true;
        return true;
    }

    public boolean fassLinks() {
        // Entferne das return true;
        return true;
    }

    public boolean wandLinks() {
        // Entferne das return true;
        return true;
    }
    
    /*#
     * Einsatz 7:
     */
    public void einsatz7(){

    }

    /*#
     * Methoden fuer deinen Lehrer:
     */
    public int getBrennstaebe() {
        return brennstaebe;
    }

    /*#
     * Loesungen:
     */
    // private int schritte;
    // private int drehungen;
    // private int brennstaebe;

    // public AB6() {
    // this.schritte = 0;
    // this.drehungen = 0;
    // this.brennstaebe = 0;
    // }

    // public void einsVor() {
    // this.schritte++;
    // super.einsVor();
    // }

    // public void dreheRechtsMitZaehlen() {
    // this.drehungen++;
    // dreheRechts();
    // }

    // public void dreheLinksMitZaehlen() {
    // this.drehungen--;
    // dreheLinks();
    // }

    // public void bisWandMitZaehlen() {
    // while(!this.istWandVorne()) {
    // einsVor();
    // if(istAufGegenstand("Brennstab")) {
    // this.brennstaebe++;
    // }
    // }

    // }

    // public int getSchritte() {
    // return this.schritte;
    // }

    // public boolean istWandVorne() {
    // if (super.istWandVorne() || this.istFassVorne()) {
    // return true;
    // } else {
    // return false;
    // }
    // }

    // public boolean istFassLinks() {
    // dreheLinks();
    // if (istFassVorne()) {
    // dreheRechts();
    // return true;
    // } else {
    // dreheRechts();
    // return false;
    // }
    // }

    // public boolean istWandLinks() {
    // if (super.istWandLinks() || istFassLinks()) {
    // return true;
    // } else {
    // return false;
    // }
    // }

    // public void einsatz6() {
    // bisWandMitZaehlen();
    // dreheRechtsMitZaehlen();
    // while(!this.istAufGegenstand("Portal")) {
    // if (!this.istWandLinks() && drehungen!=0) {
    // dreheLinksMitZaehlen();
    // } else {
    // while(this.istWandVorne()) {
    // dreheRechtsMitZaehlen();
    // }
    // }
    // einsVor();
    // }
    // }

    // public void einsatz7(){
    // einsVor();
    // this.brennstaebe = 0;
    // while(!istWandVorne()) {
    // if(istKreuzung()) {
    // dreheRechts();
    // bisWandMitZaehlen();
    // dreheUm();
    // einsVor();
    // geheBisKreuzung();
    // bisWandMitZaehlen();
    // dreheUm();
    // einsVor();
    // geheBisKreuzung();
    // dreheLinks();
    // }
    // einsVor();
    // }
    // aufnehmen();
    // benutze("Akku");
    // einsatz5();

    // }
}