WiSe Herdenmanagement
Version: 2006-03-14

herdenmanagement
Class Acker

java.lang.Object
  extended by herdenmanagement.Acker

public class Acker
extends java.lang.Object

Die Klasse Acker kapselt einen Frame und legt ein Feld in ihm ab, auf dem Gras wachsen kann, Eimer stehen können und Rinder herumlaufen. Die Klasse erbt nicht von JFrame, um das Interface zum Manager klein zu halten. Wir wollen ja keinen verwirren.

Jedes Feld auf dem Acker ist mit einer Nummer versehen. Die Zählung beginnt links oben mit dem Feld 0:0. Mit einem Acker können dem Benutzer auch Nachrichten angezeigt werden. Hierfür ist die Methode zeigeNachricht(String nachricht) zu verwenden.

Bevor eine Kuh Gras frisst oder raucht bzw. gemolken wird, prüft sie, ob dies auf dem aktuellen Feld möglich ist. Sie wird selbständig die Methoden istDaEinEimer(int x, int y) und istGrasDa(int x, int y) verwenden.

Version:
$Revision: 1.10 $
Author:
Steffen Greiffenberg, Andreas Gehlert, Robert Braun

Nested Class Summary
private  class Acker.Feld
          Feld, Acker, die Weide eben.
 
Field Summary
private  AboutBox aboutBox
          Der Dialog mit den Infos zum Programm
private  java.util.Vector<Eimer> eimer
          Liste aller Eimer
private  java.awt.Font font
          Der Font für die Felderbeschriftung
private  javax.swing.JFrame frame
          Das Hauptfenster
private  java.util.Vector<Gras> graeser
          Liste aller Gräser
private  Acker.Feld mainPanel
          Zeichnet alle Felder, inklusive aller PositionsElemente.
private  java.util.Vector<Rindvieh> viecher
          Liste aller Rindviecher
 
Constructor Summary
Acker()
          Erzeugt einen Acker.
 
Method Summary
 boolean entferneGras(int x, int y)
          Entfernt das Gras an der Position
 boolean istDaEinEimer(int x, int y)
          Prueft, ob bei den Koordinaten ein Eimer steht.
 boolean istDaGras(int x, int y)
          Prueft, ob bei den Koordinaten Gras waechst
 boolean istFeldGueltig(int x, int y)
          Prüft, ob ein Feld gültiges Element des Ackers ist.
 Gras lassGrasWachsen(int x, int y)
          Fügt ein wenig Gras ein
 void lassRindWeiden(Rindvieh rind)
          Stellt ein Objekt der Klasse Rindvieh auf den Acker und zeigt es auch gleich mal an.
 Eimer stelleEimerAuf(int x, int y)
          Stellt einen Eimer auf die Weide.
protected  void zeichneNeu()
          Zeichnet den Acker neu.
 void zeigeNachricht(java.lang.String nachricht)
          Zeigt einen Dialog mit Nachricht an.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

frame

private javax.swing.JFrame frame
Das Hauptfenster


aboutBox

private AboutBox aboutBox
Der Dialog mit den Infos zum Programm


font

private java.awt.Font font
Der Font für die Felderbeschriftung


viecher

private java.util.Vector<Rindvieh> viecher
Liste aller Rindviecher


graeser

private java.util.Vector<Gras> graeser
Liste aller Gräser


eimer

private java.util.Vector<Eimer> eimer
Liste aller Eimer


mainPanel

private Acker.Feld mainPanel
Zeichnet alle Felder, inklusive aller PositionsElemente.

Constructor Detail

Acker

public Acker()
Erzeugt einen Acker. Und zeigt ihn an in einem Fenster. Wenn das Fenster geschlossen wird, ist das Programm zu Ende.

Method Detail

zeigeNachricht

public void zeigeNachricht(java.lang.String nachricht)
Zeigt einen Dialog mit Nachricht an.

Parameters:
nachricht - Die anzuzeigende Nachricht

istFeldGueltig

public boolean istFeldGueltig(int x,
                              int y)
Prüft, ob ein Feld gültiges Element des Ackers ist. Der Aufruf wird an das mainPanel weitergeleitet.

Parameters:
x - die zu prüfende X-Koordinate
y - die zu prüfende Y-Koordinate
Returns:
true wenn das Feld gültig ist, false wenn nicht

lassGrasWachsen

public Gras lassGrasWachsen(int x,
                            int y)
Fügt ein wenig Gras ein

Parameters:
x - die X-Koordinate der Pflanze
y - die Y-Koordinate der Pflanze
Returns:
eine neue Instanz von Gras

lassRindWeiden

public void lassRindWeiden(Rindvieh rind)
Stellt ein Objekt der Klasse Rindvieh auf den Acker und zeigt es auch gleich mal an.

Parameters:
rind - die Kuh, die hier zukünftig weidet

stelleEimerAuf

public Eimer stelleEimerAuf(int x,
                            int y)
Stellt einen Eimer auf die Weide. Eine Instanz der Klasse Eimer wird erzeugt, auf den Acker gestellt und zurückgegeben.

Parameters:
x - die X-Koordinate des Eimers
y - die Y-Koordinate des Eimers
Returns:
eine neue Instanz von Eimer

zeichneNeu

protected void zeichneNeu()
Zeichnet den Acker neu.


istDaEinEimer

public boolean istDaEinEimer(int x,
                             int y)
Prueft, ob bei den Koordinaten ein Eimer steht.

Parameters:
x - x-Koordinate, des vermeintlichen Eimers.
y - y-Koordinate, des vermeintlichen Eimers.
Returns:
true, wenn ein Eimer gefunden wurde, sonst false.

istDaGras

public boolean istDaGras(int x,
                         int y)
Prueft, ob bei den Koordinaten Gras waechst

Parameters:
x - x-Koordinate, des vermeintlichen Grases.
y - y-Koordinate, des vermeintlichen Grases.
Returns:
true, wenn ein Gras gefunden wurde, sonst false.

entferneGras

public boolean entferneGras(int x,
                            int y)
Entfernt das Gras an der Position

Parameters:
x - x-Position des zu entfernenden Grases.
y - y-Position des zu entfernenden Grases.
Returns:
true, falls das Entfernen erfolgreich war, sonst false.

WiSe Herdenmanagement
Version: 2006-03-14

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