Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## main.verarbeitung
Class Matrix

    java.lang.Object
      |
      +--main.verarbeitung.Matrix

public class Matrix
extends java.lang.Object

Klasse, die die Verwaltung der Matrix übernimmt. Dabei befindet sich die Matrix selber als zentrales Element in dieser Klasse.
Alle Operationen, die die Matrix verändern, werden durch setter zur Verfügung gestellt, die direkt Konsistenzprüfungen durchführen.
Alle Operationen, die Daten aus der Matrix abfragen sind über getter definiert, die die Daten aufbereitet zur Verfügung stellen.
Zudem gibt es noch Prüfungen, die auch direkt in dieser Klasse definiert sind und boolesche Ergebnisse zurückliefern. Die Schnittstellen dieser Klasse sind möglichst vielfältig, um alle nötigen Eingaben zu ermöglichen. Um die Algorithmen klein zu halten, wurde hier ein Großteil der Funktionalität für die Matrix implementiert.

Version:
  $Revision: 1.15 $
Author:
  Simon Tiffert

Constructor Summary
`Matrix()`

Method Summary
`int` | `getFeldAnzahl()` Diese Funktion gibt zurück, wieviele Felder besuchbar sind.
`Punkt` | `getStartpunkt()` Diese Funktion gibt den Startpunkt als Punkt zurück
`int` | `getWert(int y, int x)` Diese Funktion gibt einen Wert in der Matrix zurück
`int` | `getXDimension()` Diese Funktion gibt die X-Dimension der Matrix zurück
`int` | `getYDimension()` Diese Funktion gibt die Y-Dimension der Matrix zurück
`boolean` | `isInitialisiert()` Funktion, die angibt, ob die Matrix schon initialisiert ist
`boolean` | `isInMatrix(int y, int x)` Funktion, die überprüft, ob ein Wert innerhalb der Matrix liegt.
`boolean` | `isSperrfeld(int y, int x)` Funktion, die überprüft, ob das übergebene Feld ein Sperrfeld ist.
`boolean` | `isStartpunkt(int y, int x)` Die Funktion überprüft, ob das übergebene Feld der Startpunkt ist.
`boolean` | `isWegGefunden()` Funktion, die angibt, ob ein Weg gefunden wurde.
`void` | `setMatrix(int m, int n)` Diese Funktion erstellt die Matrix mit den übergebenen Dimensionen.
`void` | `setSperrfeld(int y, int x)` Diese Funktion setzt ein Sperrfeld in der Matrix.
`void` | `setStartpunkt(int y, int x)` Diese Funktion speichert den Startpunkt für die Sprungfolge.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Matrix

    public Matrix()

Method Detail

### getFeldAnzahl

    public int getFeldAnzahl()

  Diese Funktion gibt zurück, wieviele Felder besuchbar sind. Dabei wird von der Anzahl der Felder die Anzahl der Sperrfelder abgezogen

  Returns:
    Feldanzahl (ohne Sperrfelder)

### getStartpunkt

    public Punkt getStartpunkt()

  Diese Funktion gibt den Startpunkt als Punkt zurück

  Returns:
    Startpunkt

### getWert

    public int getWert(int y,
                       int x)

  Diese Funktion gibt einen Wert in der Matrix zurück

  Parameters:
    `y` - y-Koordinate des Punktes
    `x` - x-Koordinate des Punktes
  Returns:
    den Wert der Matrix an der Stelle

### getXDimension

    public int getXDimension()

  Diese Funktion gibt die X-Dimension der Matrix zurück

  Returns:
    X-Dimension der Matrix

### getYDimension

    public int getYDimension()

  Diese Funktion gibt die Y-Dimension der Matrix zurück

  Returns:
    Y-Dimension der Matrix

### isInitialisiert

    public boolean isInitialisiert()

  Funktion, die angibt, ob die Matrix schon initialisiert ist

  Returns:
    false: nicht initialisiert, true initialisiert

### isInMatrix

    public boolean isInMatrix(int y,
                              int x)

  Funktion, die überprüft, ob ein Wert innerhalb der Matrix liegt. Dabei werden folgende Möglichkeiten überprüft:
  - y-Koordinate kleiner als 0
  - x-Koordinate kleiner als 0
  - y-Koordinate größer als y-Dimension der Matrix
  - x-Koordinate größer als x-Dimension der Matrix
  Ist keiner dieser Fälle eingetreten, so befindet sich der Punkt in der Matrix

  Parameters:
    `y` - y-Koordinate des Punktes
    `x` - x-Koordinate des Punktes
  Returns:
    Ob der Punkt innerhalb der Matrix liegt

### isSperrfeld

    public boolean isSperrfeld(int y,
                               int x)

  Funktion, die überprüft, ob das übergebene Feld ein Sperrfeld ist. Dabei wird einfach überprüft, ob der Wert in der Matrix kleiner als 0 ist.

  Parameters:
    `y` - y-Koordinate des Punktes
    `x` - x-Koordinate des Punktes
  Returns:
    Ob der Punkt schon ein Sperrfeld ist

### isStartpunkt

    public boolean isStartpunkt(int y,
                                int x)

  Die Funktion überprüft, ob das übergebene Feld der Startpunkt ist. Geprüft wird, ob der übergebene Punkt mit dem gespeicherten Startpunkt übereinstimmt

  Parameters:
    `y` - y-Koordinate des Punktes
    `x` - x-Koordinate des Punktes
  Returns:
    Ob der Punkt der Startpunkt ist

### isWegGefunden

    public boolean isWegGefunden()

  Funktion, die angibt, ob ein Weg gefunden wurde.

  Returns:
    `false`: kein Weg, `true`: Weg gefunden

### setMatrix

    public void setMatrix(int m,
                          int n)
                   throws WrongDimensionException

  Diese Funktion erstellt die Matrix mit den übergebenen Dimensionen. Dabei wird direkt die Konsistenzprüfung durchgeführt, ob die angegebenen Dimensionen übereinstimmen. Prüfungen sind hier:
  - angegebene Dimension kleiner als 0
  - angegebene Dimension größer als maximale Dimension
  Liegen die angebenen Dimensionen innerhalb dieser Rahmen, so wird die Matrix mit den Dimensionsangaben angelegt.

  Parameters:
    `m` - y-Dimension der Matrix
    `n` - x-Dimension der Matrix
  Throws:
    `WrongDimensionException` - Falsche Dimensionsangabe

### setSperrfeld

    public void setSperrfeld(int y,
                             int x)
                      throws OutOfMatrixException,
                             IsSperrfeldException,
                             IsStartpunktException

  Diese Funktion setzt ein Sperrfeld in der Matrix. Dabei werden auch die Konsistenzprüfungen durchgeführt. Geprüft wird:
  - ob das Sperrfeld überhaupt innerhalb der Matrix liegt
  - ob das Sperrfeld schon eingetragen wurde
  - ob das Sperrfeld auf dem Startpunkt liegt
  Wenn diese Prüfungen erfüllt sind, so wird das Sperrfeld als negativer Punkt (-1) in der Matrix eingetragen.

  Parameters:
    `y` - y-Koordinate des Sperrfeldes
    `x` - x-Koordinate des Sperrfeldes
  Throws:
    `OutOfMatrixException` - Sperrfeld außerhalb der Matrix
    `IsSperrfeldException` - Sperrfeld schon vorhanden
    `IsStartpunktException` - Sperrfeld auf Startpunkt

### setStartpunkt

    public void setStartpunkt(int y,
                              int x)
                       throws OutOfMatrixException,
                              ReDefinedStartpunktException

  Diese Funktion speichert den Startpunkt für die Sprungfolge. Dabei wird direkt überprüft, ob der Wert innerhalb der Matrix liegt. Ansonsten wird eine Exception geworfen

  Parameters:
    `y` - y-Koordinate des Startpunktes
    `x` - x-Koordinate des Startpunktes
  Throws:
    `OutOfMatrixException` - Startpunkt außerhalb der Matrix
    `ReDefinedStartpunktException` - Mehrfacher Startpunkt

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD