WiSe Herdenmanagement
Version: 2006-03-14

herdenmanagement
Class TanzRind

java.lang.Object
  extended by herdenmanagement.PositionsElement
      extended by herdenmanagement.Rindvieh
          extended by herdenmanagement.TanzRind

public class TanzRind
extends Rindvieh

Die Klasse implementiert ein spezielles Rindvieh, welches sich auch seitwärts bewegen kann (das "normale" Rindvieh muss sich ja zum Seitwärtslaufen zunächst in die entsprechende Richtung drehen).

Damit eignet sich dieses Rindvieh hervorragend zum Tanzen, wie bspw. für den Cha-Cha-Cha, da man sich dort seitwärts bewegt, ohne sich vorher frontal in diese Richtung zu drehen.

Zur besseren Unterscheidung zu einem "normalen" Rindvieh, trägt dieses Rindvieh in der grafischen Darstellung einen Hut.

Version:
$Revision: 1.8 $
Author:
Steffen Greiffenberg, Robert Braun

Field Summary
protected  javax.swing.ImageIcon KUH_HINTEN_TANZ
          Dateinname des Bildes eines tanzenden Rindviehs von hinten
protected  javax.swing.ImageIcon KUH_LINKS_TANZ
          Dateinname des Bildes eines tanzenden Rindviehs von links
protected  javax.swing.ImageIcon KUH_RECHTS_TANZ
          Dateinname des Bildes eines tanzenden Rindviehs von rechts
protected  javax.swing.ImageIcon KUH_VORN_TANZ
          Dateinname des Bildes eines tanzenden Rindviehs von vorn
private  int warteZeit
          Hier kann man die Wartezeit des Rindes einstellen
 
Fields inherited from class herdenmanagement.Rindvieh
bilder, KUH_GRAS, KUH_GRAS_TANZ, KUH_GRAS_UEBERWACHEND, KUH_HINTEN, KUH_LINKS, KUH_MILCH, KUH_MILCH_TANZ, KUH_MILCH_UEBERWACHEND, KUH_RAUCH, KUH_RAUCH_TANZ, KUH_RAUCH_UEBERWACHEND, KUH_RECHTS, KUH_VORN, milchImEuter, name, richtung, RICHTUNG_NORD, RICHTUNG_OST, RICHTUNG_SUED, RICHTUNG_WEST
 
Fields inherited from class herdenmanagement.PositionsElement
acker, xPosition, yPosition
 
Constructor Summary
TanzRind(java.lang.String name, int warteZeit)
          Im Gegensatz zum normalen Constructor der Klasse Rindvieh braucht das TanzRind einen zweiten Parameter für die Zeit, die das Rind nach jedem Schritt warten soll.
 
Method Summary
private  void geheSeitwaerts(boolean links)
          Lässt das Rind einen Schritt zur Seite machen
protected  void geheSeitwaertsNachLinks()
          Lässt das Rind einen Schritt nach links machen.
protected  void geheSeitwaertsNachRechts()
          Lässt das Rind einen Schritt nach rechts machen.
 boolean gehtsDaLinksWeiter()
          Prüft, ob das Rindvieh eine Position nach links gehen kann.
 boolean gehtsDaRechtsWeiter()
          Prüft, ob das Rindvieh eine Position nach rechts gehen kann.
protected  boolean gehtsDaSeitwaertsWeiter(boolean links)
          Liefert true, falls sich das Rindvieh eine Position weiter nach links (links=true) bzw. nach rechts (links=false) bewegen kann.
protected  java.awt.Dimension gibNaechstePositionSeitwaerts(boolean links)
          Liefert die Position des Rindviehs bei einem Schritt nach links (links=true) bzw. nach rechts (rechts=false), ohne jedoch den Schritt selbst auszuführen.
protected  void warte()
          Diese Methode wird in der Superklasse nach jedem Schritt ausgeführt und wartet eine vorgegebene Anzahl Millisekunden.
 
Methods inherited from class herdenmanagement.Rindvieh
aktualisiereAcker, dreheDichLinksRum, dreheDichRechtsRum, frissGras, gehe, geheVor, geheZurueck, gehtsDaWeiter, gehtsDaWeiter, gehtsDaWeiterVor, gehtsDaWeiterZurueck, getName, gibMilch, gibNaechstePosition, istMilchImEuter, raucheGras, setzeBild, warte, warteLange
 
Methods inherited from class herdenmanagement.PositionsElement
gibXPosition, gibYPosition, ladeBild, ladeBild, paint, setzeAcker
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

warteZeit

private int warteZeit
Hier kann man die Wartezeit des Rindes einstellen


KUH_VORN_TANZ

protected final javax.swing.ImageIcon KUH_VORN_TANZ
Dateinname des Bildes eines tanzenden Rindviehs von vorn

See Also:
Rindvieh.bilder

KUH_HINTEN_TANZ

protected final javax.swing.ImageIcon KUH_HINTEN_TANZ
Dateinname des Bildes eines tanzenden Rindviehs von hinten

See Also:
Rindvieh.bilder

KUH_LINKS_TANZ

protected final javax.swing.ImageIcon KUH_LINKS_TANZ
Dateinname des Bildes eines tanzenden Rindviehs von links

See Also:
Rindvieh.bilder

KUH_RECHTS_TANZ

protected final javax.swing.ImageIcon KUH_RECHTS_TANZ
Dateinname des Bildes eines tanzenden Rindviehs von rechts

See Also:
Rindvieh.bilder
Constructor Detail

TanzRind

public TanzRind(java.lang.String name,
                int warteZeit)
Im Gegensatz zum normalen Constructor der Klasse Rindvieh braucht das TanzRind einen zweiten Parameter für die Zeit, die das Rind nach jedem Schritt warten soll.

Parameters:
name - der Name
wartezeit - die Wartezeit nach jedem Tanzschritt
Method Detail

warte

protected void warte()
Diese Methode wird in der Superklasse nach jedem Schritt ausgeführt und wartet eine vorgegebene Anzahl Millisekunden. In diesem Fall also die Zeit, die in warteZeit gespeichert ist.

Overrides:
warte in class Rindvieh

gibNaechstePositionSeitwaerts

protected java.awt.Dimension gibNaechstePositionSeitwaerts(boolean links)
Liefert die Position des Rindviehs bei einem Schritt nach links (links=true) bzw. nach rechts (rechts=false), ohne jedoch den Schritt selbst auszuführen.
Diese Methode wird von der Methode gehtsDaWeiter(boolean) und gehe(boolean) aufgerufen, um das nächste Feld zu ermitteln.

Parameters:
links - true, dann wird das nächste Feld links ermittelt; false, dann wird das nächste Feld bei einem Schritt nach rechts bestimmt.
Returns:
Koordianten des Rindviehs nach dem Schritt.

geheSeitwaerts

private void geheSeitwaerts(boolean links)
Lässt das Rind einen Schritt zur Seite machen

Parameters:
links - true, dann wird das nächste Feld links ermittelt und eingenommen false, dann wird das nächste Feld bei einem Schritt nach rechts bestimmt und eingenommen

geheSeitwaertsNachLinks

protected void geheSeitwaertsNachLinks()
Lässt das Rind einen Schritt nach links machen.


geheSeitwaertsNachRechts

protected void geheSeitwaertsNachRechts()
Lässt das Rind einen Schritt nach rechts machen.


gehtsDaSeitwaertsWeiter

protected boolean gehtsDaSeitwaertsWeiter(boolean links)
Liefert true, falls sich das Rindvieh eine Position weiter nach links (links=true) bzw. nach rechts (links=false) bewegen kann.

Parameters:
vor - Betrachtete Bewegungsrichtung.
Returns:
true: Rindvieh kann sich in die gewünschte Richtung bewegen, sonst false

gehtsDaLinksWeiter

public boolean gehtsDaLinksWeiter()
Prüft, ob das Rindvieh eine Position nach links gehen kann. Die Methode ruft gehtsDaSeitwärtsWeiter(true) auf.

Returns:
true: Das Rindvieh kann einen Schritt nach links gehen, sonst false.

gehtsDaRechtsWeiter

public boolean gehtsDaRechtsWeiter()
Prüft, ob das Rindvieh eine Position nach rechts gehen kann. Die Methode ruft gehtsDaSeitwärtsWeiter(false) auf.

Returns:
true: Das Rindvieh kann einen Schritt nach rechts gehen, sonst false.

WiSe Herdenmanagement
Version: 2006-03-14

Letzte Änderung am 17. März 2006 um 10:05 Uhr
Robert Braun, generiert durch javadoc