// WARNING: This file is auto-generated and any changes to it will be overwritten
import java.util.*;
import greenfoot.*;

/**
 * Auf das Attribut name wird in anderen Klassen zugegriffen.
 * Ihre Aufgabe:
 * Setzen Sie das Attribut name auf private; andere Klassen können nicht mehr auf das Attribut zugreifen - also müssen Sie Zugriffsmethoden schreiben (Getter / Setter). Diese Zugriffsmethoden müssen Sie in den anderen Klassen verwenden.
 */
public class Schildkroete extends Tier
{
    private Kreis kreis;
    private Ameise a;
    public String name = "Hansi";

    /**
     * 
     */
    public Schildkroete()
    {
        this.getImage().scale(150, 150);
    }

    /**
     * 
     */
    public void act()
    {
        a = (Ameise)this.getWorld().getObjects(Ameise.class).get(0);
        if (this.isTouching(Ameise.class)) {
            kreis =  new  Kreis();
            this.getWorld().addObject(kreis, a.getX(), a.getY());
            String msg = "Die Schildkröte ändert den IQ der Ameise. Aktuell ist er " + a.intelligenzquotient + ". Welchen IQ soll die Ameise besitzen?";
            this.iqAbfragen(msg);
            a.setLocation(0, 0);
            a.setRotation(100);
            this.getWorld().removeObject(kreis);
        }
        
        if (Greenfoot.isKeyDown("up") && a != null) {
            a.geschwindigkeit = a.geschwindigkeit + 1;
        }
        if (a != null && Greenfoot.isKeyDown("down")) {
            if (a.geschwindigkeit > 0) {
                a.geschwindigkeit = a.geschwindigkeit - 1;
            }
        }
        if (Greenfoot.mouseClicked(this)) {
            a.name = Greenfoot.ask("Wie soll die Ameise heißen?");
            this.getWorld().showText("Die Ameise heißt jetzt " + a.name, 400, 550);
        }
    }

    /**
     * 
     */
    public void iqAbfragen(String msg)
    {
        int neuerIQ;
        String eingabe = Greenfoot.ask(msg);
        try {
            a.intelligenzquotient = Integer.parseInt(eingabe);
            this.getWorld().showText("IQ der Ameise '" + a.name + "' wurde geändert auf " + a.intelligenzquotient, 400, 500);
            this.getWorld().showText("", 100, 100);
        }
        catch (Exception e) {
            this.getWorld().showText("IQ von " + a.name + " wurde NICHT geändert - BITTE ZAHL EINGEBEN", 100, 100);
            this.iqAbfragen(msg);
        }
    }
}
