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

## de.caff.maze
Class OctogonalMaze

    java.lang.Object
      de.caff.maze.MazePropertyOwner
          de.caff.maze.AbstractBasicMaze
              de.caff.maze.OctogonalMaze

All Implemented Interfaces:
  Maze

    public class OctogonalMaze

extends AbstractBasicMaze

A maze with octogonal cells and smaller square cells in a checker board pattern.

Nested Class Summary

Nested classes/interfaces inherited from class de.caff.maze.AbstractBasicMaze
`AbstractBasicMaze.DoubleDelayedPropertyInformation, AbstractBasicMaze.IntegerDelayedPropertyInformation`

Nested classes/interfaces inherited from class de.caff.maze.MazePropertyOwner
`MazePropertyOwner.BooleanPropertyInformation, MazePropertyOwner.EnumPropertyInformation, MazePropertyOwner.InfoPropertyDisplay, MazePropertyOwner.IntegerPropertyInformation, MazePropertyOwner.PaintPropertyInformation`

Field Summary
`static java.lang.String` | `MAZE_TYPE` The type of this maze (for storage).
`static java.lang.String` | `PROPERTY_HORIZONTAL_CELLS` Property key for the settable number of horizontal cells property.
`static java.lang.String` | `PROPERTY_VERTICAL_CELLS` Property key for the settable number of vertical cells property.

Fields inherited from class de.caff.maze.AbstractBasicMaze
`BOX_SIZE, PROPERTY_CREATION_TIME, PROPERTY_MAZE, PROPERTY_NUMBER_CELLS, PROPERTY_SEED, PROPERTY_SOLUTION_LENGTH, PROPERTY_WAY, PROPERTY_WAY_POINTS`

Constructor Summary
`OctogonalMaze(int nrHorizontal, int nrVertical)` Constructor.

Method Summary
`protected void` | `doDraw(MazePainter painter, MazePaintPropertiesProvider properties)` Do the actual drawing.
`MazeCell` | `getCellByID(int id)` Get the cell with the given id.
`MazeCell[]` | `getCells()` Get the cells of this maze.
`protected AbstractBasicMaze` | `getGeometryClone()` Get a deep copy of this maze geometry.
`java.awt.Insets` | `getInsets(MazePaintPropertiesProvider properties, float scaling)` Get the necessary insets depending on the paint properties.
`java.lang.String` | `getMazeType()` Get a internally used string describing the maze type.
`protected java.awt.Shape` | `getOuterBorder()` Get the borders of the maze as a shape.
`float` | `getPreferredAspectRatio()` Get the preferred aspect ratio of this maze.
`java.util.Collection<PropertyInformation>` | `getPropertyInformations()` Get the property setters and displays for this maze.
`void` | `loadPersistentData(DataStorage systemAccess)` Load extra data defining the maze from the system access.
`protected void` | `recreateFromDelayedSetters()` This is called during the call of `AbstractBasicMaze.setFromSetters()` and should be used to recreate the geometry of the maze from the setters of the geometric properties.
`void` | `reset()` Resets the internal data.
`void` | `setDefaultWayPoints()` Set some useful default way points.
`void` | `storePersistentData(DataStorage systemAccess)` Store extra data defining the maze to the system access.

Methods inherited from class de.caff.maze.AbstractBasicMaze
`addMazeFinishedListener, arg2int, createMaze, createMaze, createMaze, draw, drawBackgroundAndWay, getCellAt, getClone, getCreationTimeMillis, getInfo, getSeed, getWay, getWayEnd, getWayStart, isDuringRecreation, loadSeedWayAndVersion, recreateMaze, removeMazeFinishedListener, setFromSetters, setProgressShower, setWayEnd, setWayPoints, setWayStart, solve, storeSeedWayAndVersion`

Methods inherited from class de.caff.maze.MazePropertyOwner
`addPropertyChangeListener, firePropertyChange, removePropertyChangeListener`

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

Field Detail

### MAZE_TYPE

    public static final java.lang.String MAZE_TYPE

  The type of this maze (for storage).

  See Also:
    Constant Field Values

### PROPERTY_HORIZONTAL_CELLS

    public static final java.lang.String PROPERTY_HORIZONTAL_CELLS

  Property key for the settable number of horizontal cells property.

  See Also:
    Constant Field Values

### PROPERTY_VERTICAL_CELLS

    public static final java.lang.String PROPERTY_VERTICAL_CELLS

  Property key for the settable number of vertical cells property.

  See Also:
    Constant Field Values

Constructor Detail

### OctogonalMaze

    public OctogonalMaze(int nrHorizontal,
                         int nrVertical)

  Constructor.

  Parameters:
    `nrHorizontal` - number of horizontal cells
    `nrVertical` - number of vertical cells

Method Detail

### getGeometryClone

    protected AbstractBasicMaze getGeometryClone()

  Get a deep copy of this maze geometry.

  Specified by:
    `getGeometryClone` in class `AbstractBasicMaze`
  Returns:
    deep copy

### getMazeType

    public java.lang.String getMazeType()

  Get a internally used string describing the maze type.

  Specified by:
    `getMazeType` in class `AbstractBasicMaze`
  Returns:
    maze type

### reset

    public void reset()

  Resets the internal data. Should be overwritten, and overwritung methods should call this.

  Specified by:
    `reset` in interface `Maze`
  Overrides:
    `reset` in class `AbstractBasicMaze`

### getCells

    public MazeCell[] getCells()

  Get the cells of this maze.

  Returns:
    the cells of this maze

### getCellByID

    public MazeCell getCellByID(int id)

  Get the cell with the given id.

  Parameters:
    `id` - cell id
  Returns:
    the cell with the given id or `null` if there is no such cell
  See Also:
    `MazeCell.getID()`

### doDraw

    protected void doDraw(MazePainter painter,
                          MazePaintPropertiesProvider properties)

  Do the actual drawing. The call to this method is embedded in the the calls to `MazePainter.startPaintingMaze(Maze)` and `MazePainter.endPaintingMaze()`.

  Specified by:
    `doDraw` in class `AbstractBasicMaze`
  Parameters:
    `painter` - painter to draw to
    `properties` - access to properties for drawing (colors etc)

### getPreferredAspectRatio

    public float getPreferredAspectRatio()

  Get the preferred aspect ratio of this maze.

  Returns:
    aspect ratio (width/height)

### getInsets

    public java.awt.Insets getInsets(MazePaintPropertiesProvider properties,
                                     float scaling)

  Get the necessary insets depending on the paint properties. Usually the insets are necessary to allow for the thick border line to be drawn completely.

  Parameters:
    `properties` - paint properties
    `scaling` - scaling used when painting
  Returns:
    insets

### setDefaultWayPoints

    public void setDefaultWayPoints()

  Set some useful default way points.

  Specified by:
    `setDefaultWayPoints` in class `AbstractBasicMaze`

### getPropertyInformations

    public java.util.Collection<PropertyInformation> getPropertyInformations()

  Get the property setters and displays for this maze. Overriding classes should include this collection first.

  Overrides:
    `getPropertyInformations` in class `AbstractBasicMaze`
  Returns:
    colletion of property setters

### recreateFromDelayedSetters

    protected void recreateFromDelayedSetters()

  This is called during the call of `AbstractBasicMaze.setFromSetters()` and should be used to recreate the geometry of the maze from the setters of the geometric properties.

  Specified by:
    `recreateFromDelayedSetters` in class `AbstractBasicMaze`

### getOuterBorder

    protected java.awt.Shape getOuterBorder()

  Get the borders of the maze as a shape.

  Specified by:
    `getOuterBorder` in class `AbstractBasicMaze`
  Returns:
    outer border

### loadPersistentData

    public void loadPersistentData(DataStorage systemAccess)

  Load extra data defining the maze from the system access.

  Parameters:
    `systemAccess` - system access

### storePersistentData

    public void storePersistentData(DataStorage systemAccess)

  Store extra data defining the maze to the system access.

  Parameters:
    `systemAccess` - system access

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