Class Figur
- java.lang.Object
-
- greenfoot.Actor
-
- MyActor
-
- Figur
-
public class Figur extends MyActor
Diese Klasse ist die Oberklasse fuer die Figuren "Bauer", "Huhn" und "Schaf". Programme sollen nur in den Unterklassen implementiert werden, da diese Klasse fuer Java-Beginner sehr komplex ist. Ein Figur kann sich felderweise in die vier Himmelsrichtungen im Szenario bewegen. Ueber Sensoren kann er Informationen ueber seine Umwelt erhalten.- Version:
- 11.10.2023
- Author:
- T. Schaller
-
-
Field Summary
Fields Modifier and Type Field Description protected int
durst
gibt an, wie durstig die Figur ist (0 = verdurstet, 100 = kein Durst)protected int
hunger
gibt an, wie hungrig die Figur ist (0 = verhungert, 100 = satt)boolean
istHauptperson
gibt an, ob die Figur Hauptperson ist und nur durch den Benutzer gesteuert wird.protected int
kostenBewegung
gibt an, wie viel Lebensenergie (Hunger+Durst) die Figur bei einer Bewegung verliert.protected int
kostenWarten
gibt an, wie viel Lebensenergie (Hunger+Durst) die Figur beim Warten verliert.
-
Constructor Summary
Constructors Constructor Description Figur(java.lang.String name)
Ein Objekt der Klasse Figur wird instanziert.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addedToWorld(greenfoot.World w)
Hilfsmethode: bitte nicht aufrufen.void
dreheLinks()
die Figur dreht sich um 90 Grad nach links (aus der Sicht des Figurs).void
dreheRechts()
die Figur dreht sich um 90 Grad nach rechts (aus der Sicht des Figurs).void
einsVor()
die Figur geht einen Schritt in die Blickrichtung.void
error()
Hilfsmethode: bitte nicht aufrufen sorgt dafür, dass das Programm abstürzt, wenn die Figur nicht in der Welt und Aktionen ausführen sollint
getDurst()
Gibt die Durstigkeit der Figur zurückint
getHunger()
Gibt den Sättigungsgrad der Figur zurückprotected Gegenstand
gibGegenstandUnterFigur()
Gibt den Gegenstand zurueck, auf dem sich ein Figur befindet Wenn dort kein Gegenstand ist, dann wird null zurückgegebenprotected Gegenstand
gibGegenstandUnterFigur(java.lang.String name)
Gibt den Gegenstand vom gesuchten Typ zurueck, wenn sich die Figur darauf befindetprotected Gegenstand
gibGegenstandVorFigur(java.lang.String name)
Gibt den Gegenstand vom gesuchten Typ zurueck, wenn sich die Figur davor befindetboolean
istAuf(java.lang.String name)
Liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Figur gerade befindet, ein Gegenstand mit dem angegebnen Namen befindet.boolean
istAufGegenstand()
Liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Figur gerade befindet, ein beliebiger Gegenstand befindet.boolean
istLinksFrei()
Die Methode ueberprueft, ob sich links der Laufrichtung eine Wand befindet.boolean
istRechtsFrei()
Die Methode ueberprueft, ob rechts der Laufrichtung frei ist.boolean
istVorne(java.lang.String name)
Liefert genau dann true, wenn auf der Kachel vor der Figur in Blickrichtung ein Gegenstand mit dem angegebnen Namen befindet.boolean
istVorneFrei()
Die Methode ueberprueft, ob vor der Figur Hindernisse stehen oder nichtint
pruefe(java.lang.String name)
pruefe untersucht den mit "name" bezeichneten Gegenstand Dieser muss entweder am gleichen Ort sein.protected void
refresh()
Hilfsmethode, bitte nicht benutzenvoid
setLocation(int x, int y)
Hilfsmethode: bitte nicht aufrufen.void
setRotation(int x)
Hilfsmethode: Bitte nicht aufrufen setRotation(x) fuer Figur wird ueberschrieben, damit nur vier Rotationsrichtungen moeglich sind!void
verbraucheEnergie(int verlust)
Erhöhrt den Hunger der Figur um den angegebenen Wert.protected boolean
verbraucheEnergie(int hunger, int durst)
Erhöhrt den Hunger und Durst der Figur um den angegebenen Wert.void
warte()
Die Figur wartet und macht nichts.protected int
xVor()
Gibt die x-Koordinate zurück, wenn der Figur einen Schritt nach vorne macht.protected int
yVor()
Gibt die y-Koordinate zurück, wenn die Figur einen Schritt nach vorne macht.protected void
zeichneEnergie()
Hilfsmethode: Zeichne / Aktualisiere die hunger (Akkustandsbalken), die die Figur hat Bitte nicht aufrufenprotected void
zeichneImage()
Hilfsmethode, die dafuer sorgt, dass der "Aufdruck" auf der Figur (Anzahl der Gegenstaende), der Akkustandsbalken und der Richtungspfeil aktualisiert werden Bitte nicht aufrufen.-
Methods inherited from class MyActor
getBild, getName, getX, getY, istBetretbar, istBeweglich, melde, setzeBild, warne
-
Methods inherited from class greenfoot.Actor
act, getImage, getIntersectingObjects, getNeighbours, getObjectsAtOffset, getObjectsInRange, getOneIntersectingObject, getOneObjectAtOffset, getRotation, getWorld, getWorldOfType, intersects, isAtEdge, isTouching, move, removeTouching, setImage, setImage, turn, turnTowards
-
-
-
-
Field Detail
-
hunger
protected int hunger
gibt an, wie hungrig die Figur ist (0 = verhungert, 100 = satt)
-
durst
protected int durst
gibt an, wie durstig die Figur ist (0 = verdurstet, 100 = kein Durst)
-
kostenBewegung
protected int kostenBewegung
gibt an, wie viel Lebensenergie (Hunger+Durst) die Figur bei einer Bewegung verliert.
-
kostenWarten
protected int kostenWarten
gibt an, wie viel Lebensenergie (Hunger+Durst) die Figur beim Warten verliert.
-
istHauptperson
public boolean istHauptperson
gibt an, ob die Figur Hauptperson ist und nur durch den Benutzer gesteuert wird. andere Figuren agieren bei jeder Aktion der Hauptfigur (z.B. das Gras wächst)
-
-
Method Detail
-
error
public void error()
Hilfsmethode: bitte nicht aufrufen sorgt dafür, dass das Programm abstürzt, wenn die Figur nicht in der Welt und Aktionen ausführen soll
-
getHunger
public int getHunger()
Gibt den Sättigungsgrad der Figur zurück- Returns:
- 0= groß - 100=satt
-
getDurst
public int getDurst()
Gibt die Durstigkeit der Figur zurück- Returns:
- 0= groß - 100=keinen Durst
-
verbraucheEnergie
public void verbraucheEnergie(int verlust)
Erhöhrt den Hunger der Figur um den angegebenen Wert.- Parameters:
verlust
- Anzahl der verbrauchten Energiepunkte
-
verbraucheEnergie
protected boolean verbraucheEnergie(int hunger, int durst)
Erhöhrt den Hunger und Durst der Figur um den angegebenen Wert.- Parameters:
hunger
- Anzahl der verbrauchten Energiepunkte (Hunger)durst
- Anzahl der verbrauchten Energiepunkte (Durst)- Returns:
- gibt zurück, ob es möglich war, so viele Punkte abzuziehen
-
xVor
protected int xVor()
Gibt die x-Koordinate zurück, wenn der Figur einen Schritt nach vorne macht.- Returns:
- x-Koordinate
-
yVor
protected int yVor()
Gibt die y-Koordinate zurück, wenn die Figur einen Schritt nach vorne macht.- Returns:
- y-Koordinate
-
einsVor
public void einsVor()
die Figur geht einen Schritt in die Blickrichtung. Das macht er nur, wenn vor ihm nicht im Weg ist.
-
dreheRechts
public void dreheRechts()
die Figur dreht sich um 90 Grad nach rechts (aus der Sicht des Figurs).
-
dreheLinks
public void dreheLinks()
die Figur dreht sich um 90 Grad nach links (aus der Sicht des Figurs).
-
warte
public void warte()
Die Figur wartet und macht nichts. In der Zeit kann aber z.B. das Gras wachsen.
-
refresh
protected void refresh()
Hilfsmethode, bitte nicht benutzen
-
pruefe
public int pruefe(java.lang.String name)
pruefe untersucht den mit "name" bezeichneten Gegenstand Dieser muss entweder am gleichen Ort sein.- Parameters:
name
- Bezeichnung des Gegenstands: "Gras", "Korn","Tomate", "Giesskanne" oder "Blume"- Returns:
- Wert zwischen 0-100 oder -1, je nach Zustand des Gegenstands
-
istAufGegenstand
public boolean istAufGegenstand()
Liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Figur gerade befindet, ein beliebiger Gegenstand befindet.- Returns:
- true, wenn die Figur auf einem Gegenstand steht, sonst false
-
istAuf
public boolean istAuf(java.lang.String name)
Liefert genau dann true, wenn auf der Kachel, auf der sich der aufgerufene Figur gerade befindet, ein Gegenstand mit dem angegebnen Namen befindet.- Parameters:
name
- Einer der Gegenstaende ("Gras","Nest","Ei","Koerner","Acker","Korn","Tomate", "Giesskanne", "Blume", "Sense")- Returns:
- true, wenn die Figur auf einem Gegenstand steht, sonst false
-
gibGegenstandUnterFigur
protected Gegenstand gibGegenstandUnterFigur()
Gibt den Gegenstand zurueck, auf dem sich ein Figur befindet Wenn dort kein Gegenstand ist, dann wird null zurückgegeben- Returns:
- Gegenstand (Objekt vom Typ "Gras","Nest","Ei","Koerner","Acker","Korn","Tomate", "Giesskanne", "Blume" oder "Sense")
-
gibGegenstandUnterFigur
protected Gegenstand gibGegenstandUnterFigur(java.lang.String name)
Gibt den Gegenstand vom gesuchten Typ zurueck, wenn sich die Figur darauf befindet- Parameters:
name
- Bezeichnung des Gegenstandes ("Gras","Nest","Ei","Koerner","Acker","Korn","Tomate", "Giesskanne", "Blume", "Sense")- Returns:
- Gegenstand
-
istVorne
public boolean istVorne(java.lang.String name)
Liefert genau dann true, wenn auf der Kachel vor der Figur in Blickrichtung ein Gegenstand mit dem angegebnen Namen befindet.- Parameters:
name
- Einer der Gegenstaende ("Gras","Zaun","Wasser","Nest","Ei","Koerner","Acker","Korn","Stall","Tomate", "Giesskanne","Bauernhof", "Blume", "Sense")- Returns:
- true, wenn die Figur vor diesem Gegenstand steht, sonst false
-
gibGegenstandVorFigur
protected Gegenstand gibGegenstandVorFigur(java.lang.String name)
Gibt den Gegenstand vom gesuchten Typ zurueck, wenn sich die Figur davor befindet- Parameters:
name
- Bezeichnung des Gegenstandes ("Gras","Nest","Ei","Koerner","Acker","Korn","Tomate", "Giesskanne", "Blume", "Sense")- Returns:
- Gegenstand
-
istVorneFrei
public boolean istVorneFrei()
Die Methode ueberprueft, ob vor der Figur Hindernisse stehen oder nicht- Returns:
- true, wenn vor der Figur frei ist, sonst false
-
istRechtsFrei
public boolean istRechtsFrei()
Die Methode ueberprueft, ob rechts der Laufrichtung frei ist.- Returns:
- true, wenn das Feld rechts betreten werden kann, sonst false
-
istLinksFrei
public boolean istLinksFrei()
Die Methode ueberprueft, ob sich links der Laufrichtung eine Wand befindet.- Returns:
- true, wenn das Feld links betreten werden kann, sonst false
-
zeichneImage
protected void zeichneImage()
Hilfsmethode, die dafuer sorgt, dass der "Aufdruck" auf der Figur (Anzahl der Gegenstaende), der Akkustandsbalken und der Richtungspfeil aktualisiert werden Bitte nicht aufrufen.- Overrides:
zeichneImage
in classMyActor
-
zeichneEnergie
protected void zeichneEnergie()
Hilfsmethode: Zeichne / Aktualisiere die hunger (Akkustandsbalken), die die Figur hat Bitte nicht aufrufen
-
setLocation
public void setLocation(int x, int y)
Hilfsmethode: bitte nicht aufrufen. setLocation(x,y) fuer Figur wird ueberschrieben, um nicht auf Wand oder anderen Figur ziehen zu koennen! -- setzt den Figur auf eine Kachel, deren Spalte x sowie Reihe y du hier vorgibst. Die Nummerierung beginnt jeweils bei 0 !!)- Overrides:
setLocation
in classMyActor
- Parameters:
x
- die x-Koordinatey
- die y-Koordinate
-
setRotation
public void setRotation(int x)
Hilfsmethode: Bitte nicht aufrufen setRotation(x) fuer Figur wird ueberschrieben, damit nur vier Rotationsrichtungen moeglich sind!- Overrides:
setRotation
in classgreenfoot.Actor
- Parameters:
x
- die Richtung (0=Osten, 90=Sueden, 180=Westen, 270=Norden)
-
addedToWorld
public void addedToWorld(greenfoot.World w)
Hilfsmethode: bitte nicht aufrufen.- Overrides:
addedToWorld
in classMyActor
- Parameters:
w
- Die Welt in die ein Figur gesetzt wurde
-
-