Class CPuzzleField

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Canvas
                   |
                   +----CPuzzleField

public class CPuzzleField
extends Canvas
implements MouseListener
CPuzzelField ist ein Kontainer fuer die 9 CPuzzleElement(e), der grafisch dargestellt wird. Die Steuerung des Puzzels wird durch das Interface MouseListener uebernommen.

Version:
1.0 date 07.06.1997
Author:
Mirko Mumberg
See Also:
CPuzzleElement

Variable Index

 o m_PuzzlePos
Beinhaltet die Positionen der Puzzelteile auf dem Puzzelfeld.
 o m_PuzzleState
Beinhaltet die jeweiligen Drehpositionen(0-3) der 9 Puzzelteile.

Constructor Index

 o CPuzzleField(Dimension, CPuzzleElement[])
Der Konstruktor initialisiert m_PuzzleState, m_PuzzlePos und die internen Variablen.

Method Index

 o ChangePos(int)
Vertauscht die Positionen zweier Puzzelteile.
 o ChangePosNeighbour(int)
Vertauscht nur Puzzelteile, die neben dem Puzzelteil an m_OldPos liegen.
 o getMinimumSize()
Um die Größe bezubehalten.
 o getPos_isin(int, int)
Wandelt die Pixelposition(x,y) in die Puzzelteilposition (0-8) um.
 o getPreferredSize()
Um die Größe beizubehalten.
 o merge()
Mischt das Puzzelfeld.
 o mouseClicked(MouseEvent)
Dieser Mausaktion wird nicht beachtet.
 o mouseEntered(MouseEvent)
Dieser Mausaktion wird nicht beachtet.
 o mouseExited(MouseEvent)
Dieser Mausaktion wird nicht beachtet.
 o mousePressed(MouseEvent)
Holt sich die Position(0-8) des Puzzelteils, auf dem die Maus steht und speichert diesen.
 o mouseReleased(MouseEvent)
Holt sich die Position(0-8) des Puzzelteils, auf dem die Maus steht.
 o paint(Graphics)
Neuzeichnen des Puzzelfeldes.
 o setNextPuzzleState(int)
Dreht ein angegebenes Puzzelteil um 90 Grad.
 o update(Graphics)
Neuzeichnen des Puzzelfeldes.

Variables

 o m_PuzzleState
  public CArrayRandom m_PuzzleState
Beinhaltet die jeweiligen Drehpositionen(0-3) der 9 Puzzelteile.

 o m_PuzzlePos
  public CArrayRandom m_PuzzlePos
Beinhaltet die Positionen der Puzzelteile auf dem Puzzelfeld.

Constructors

 o CPuzzleField
  public CPuzzleField(Dimension d,
                      CPuzzleElement _Element[])
Der Konstruktor initialisiert m_PuzzleState, m_PuzzlePos und die internen Variablen.

Parameters:
d - Die Groesse des Puzzelfeldes.
_Element - Ein Array mit den 9 Puzzeltteilen.

Methods

 o merge
  public void merge()
Mischt das Puzzelfeld.

 o getPreferredSize
  public Dimension getPreferredSize()
Um die Größe beizubehalten.

Overrides:
getPreferredSize in class Component
 o getMinimumSize
  public Dimension getMinimumSize()
Um die Größe bezubehalten.

Overrides:
getMinimumSize in class Component
 o paint
  public void paint(Graphics g)
Neuzeichnen des Puzzelfeldes.

Parameters:
g - Grafikoberflaeche, auf die gezeichnet werden soll.
Overrides:
paint in class Canvas
 o update
  public void update(Graphics g)
Neuzeichnen des Puzzelfeldes.

Parameters:
g - Grafikoberflaeche, auf die gezeichnet werden soll.
Overrides:
update in class Component
 o getPos_isin
  protected int getPos_isin(int x,
                            int y)
Wandelt die Pixelposition(x,y) in die Puzzelteilposition (0-8) um.

Parameters:
x - Pixel x-Position.
y - Pixel y-Position.
Returns:
Puzzelteilposition(0-8) oder -1 fuer ausserhalb des Puzzelfeldes.
 o setNextPuzzleState
  protected void setNextPuzzleState(int i)
Dreht ein angegebenes Puzzelteil um 90 Grad.

Parameters:
i - Position des zu drehenden Puzzelteils.
 o ChangePos
  protected void ChangePos(int newpos)
Vertauscht die Positionen zweier Puzzelteile.

Parameters:
newpos - Position des zweiten Puzzelteils(m_OldPos ist das erste Puzzelteil).
 o ChangePosNeighbour
  protected void ChangePosNeighbour(int newpos)
Vertauscht nur Puzzelteile, die neben dem Puzzelteil an m_OldPos liegen.

Parameters:
newpos - Position des zweiten Puzzelteils(m_OldPos ist das erste Puzzelteil).
 o mousePressed
  public void mousePressed(MouseEvent e)
Holt sich die Position(0-8) des Puzzelteils, auf dem die Maus steht und speichert diesen.

 o mouseReleased
  public void mouseReleased(MouseEvent e)
Holt sich die Position(0-8) des Puzzelteils, auf dem die Maus steht. Vertauscht oder Dreht Puzzelteile in Abhaengigkeit von der alten Position (beim mousePressed gespeichert) und der jetzigen Position der Maus. Neuzeichnen des Puzzelfeldes.

 o mouseClicked
  public void mouseClicked(MouseEvent e)
Dieser Mausaktion wird nicht beachtet.

 o mouseEntered
  public void mouseEntered(MouseEvent e)
Dieser Mausaktion wird nicht beachtet.

 o mouseExited
  public void mouseExited(MouseEvent e)
Dieser Mausaktion wird nicht beachtet.